Time of Update: 2018-12-05
上面已經介紹怎麼樣建立一個簡單的線程,在那裡就需要使用函數WaitForSingleObject,它是用來做什麼的呢?其實它是用來實現等待線程結束的,它的機理是這樣的,通知Windows作業系統,現在我進入睡眼狀態,當我關注的對象條件是否滿足,如果滿足了就吵醒我。在那裡關注的對象是線程是否退出,這是一個條件測試。如果不等待線程關閉,就去刪除線程的資源,就會出錯的。使用前面的線程是簡單一些,但它不合適複用,現在就使用C++的類來封裝一個比較好用的類,這樣就可以很方便地建立很多線程來使用,當然還可
Time of Update: 2018-12-05
Windows API一日一練(64)
Time of Update: 2018-12-05
當人們使用軟體時,大多數是想看到自己所需要的結果,比如玩RPG遊戲,就是想看到自己所操作的主角做各種各樣的事情。在2D的RPG遊戲裡,其實做的事情,就是不斷地更新畫面,也就是不斷地顯示BMP的圖片。在普通的程式裡,大多也是顯示各種文本和圖片的,但是有一種類型的應用程式是不怎麼顯示結果的,那就是服務程式。不管怎麼樣,只要我們想看到程式所執行後的結果,就需要在程式裡顯示出來。也就是需要調用BeginPaint和EndPaint函數。BeginPaint函數的作用是告訴Windows系統,要開始向顯
Time of Update: 2018-12-05
上一次介紹怎麼樣儲存資料到註冊表裡,這次就需要從註冊表裡讀取資料出來了。在這個例子裡是讀取字串資料出來,主要調用函數RegQueryValueEx來實現。下面的例子裡就是先查詢索引值的長度,然後再讀取內容出來。 函數RegQueryValueEx聲明如下: WINADVAPILONGAPIENTRYRegQueryValueExA ( __in HKEY hKey, __in_opt LPCSTR lpValueName, __reserved LPDWORD
Time of Update: 2018-12-05
在安裝完虛擬機器工具後/mnt/hgfs目錄掛載成功,可是在vm中添加了共用資料夾後hgfs依然為空白,在網上搜了下,解決方案如下:1.sudo apt-get install open-vm-dkms2.sudo mount -t vmhgfs .host:/ /mnt/hgfs然後在hgfs目錄下就能成功看到共用的檔案了。或者建立一個shell檔案touch /usr/lcoal/bin/mntchmod 775 /usr/lcoal/bin/mntgedit /usr/lcoal/
Time of Update: 2018-12-05
對話方塊是比較常用的視窗,比如當你想讓使用者輸入一些參數時就可以使用對話方塊。或者提示一些警告的資訊,都是可以使用對話方塊的。比如當你拷貝檔案時,Windows就會提示一個拷貝檔案的進度對話方塊。對話方塊的使用範圍比較廣,並且它在設計時就可以看到啟動並執行結果模樣,這樣方便設計。但對話方塊又分為兩類,一種對話方塊運行後,一定要使用者關閉那個對話方塊後才能返回到父視窗;一種對話方塊是不需要關閉後就可以直接返回父視窗。因此,軟體開發人員就要考慮這個對話方塊的結果是否會影響後面的操作,如果這個對話方
Time of Update: 2018-12-05
當你需要自己顯示一個與眾不同的按鈕時,就需要使用下面的方法來建立。當然這裡也是綜合地使用前面學習過的知識進行一次綜合的練習。示範怎麼樣使用眾多的API函數,這裡還可以學會使用GetSysColor函數來擷取系統的顏色。WINUSERAPIDWORDWINAPIGetSysColor( __in int nIndex);nIndex是系統定義的色彩索引值。調用這個函數的例子如下:#001 //#002 //介面顯示輸出.#003 //#004 //蔡軍生 2007/09/12 QQ:907
Time of Update: 2018-12-05
在編寫國際化的應用程式裡,經常要使用不同語言的字串。比如中文菜單裡叫做“檔案”,而在英語裡叫做“File”。開發這種軟體的功能是一樣的,只是介面上顯示的文字不一樣而已。為了方便這種軟體的開發,在Windows裡經常使用的方法就是替換掉顯示的字串,比如指定在中文裡就顯示“檔案”,在英語裡就顯示“File”,是通過函數LoadString從不同的資源裡載入不同的字串顯示來實現的。其實所有可變的字串,都可以使用函數LoadString從資源裡載入字串顯示。映像的資訊是非常方便人們記憶的,像交通訊號一
Time of Update: 2018-12-05
Windows
Time of Update: 2018-12-05
為了可以建立自己的視窗,就需要向Windows作業系統註冊視窗類別型,以便後面建立視窗時調用。當然,如果使用Windows預先註冊的視窗是不需要註冊的。 函式宣告如下:#if(WINVER >= 0x0400)WINUSERAPIATOMWINAPIRegisterClassExA( __in CONST WNDCLASSEXA *);WINUSERAPIATOMWINAPIRegisterClassExW( __in CONST WNDCLASSEXW *);#ifdef
Time of Update: 2018-12-05
畫畫是講究色彩與線條,不同的地方是採用不同的畫筆。上面顯示直線,都是採用裝置預設的畫筆來畫直線。現在就來介紹怎麼樣建立自己的畫筆,比如設定畫筆的顏色,畫筆的大小。像Windows按鈕顯示為3D的形狀,其實就是用兩種顏色畫筆分別畫相應的線,就產生按鈕。而建立畫筆就需要使用到CreatePen函數。函數CreatePen聲明如下:WINGDIAPI HPEN WINAPI CreatePen( __in int iStyle, __in int cWidth, __in COLORREF
Time of Update: 2018-12-05
#include <windows.h>#define CTL_CODE( DeviceType, Function, Method, Access ) ( / ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) /)#define METHOD_BUFFERED 0#define
Time of Update: 2018-12-05
操作LED的API在coredll.dll裡面有,只是在SDK裡面沒有聲明。首先,包含nled.h標頭檔以及聲明兩個函數(取得LED資訊和設定LED狀態)# include < nled.h > extern " C "{ BOOL NLedGetDeviceInfo(INT nID, PVOID pOutput); BOOL NLedSetDevice(INT nID, PVOID
Time of Update: 2018-12-05
Windows
Time of Update: 2018-12-05
Windows API一日一練(80)MultiByteToWideChar函數
Time of Update: 2018-12-05
Windows
Time of Update: 2018-12-05
WINDOWS系統隱含了不少內部資料結構,其記錄著與系統相關的所有重要訊息如線程、進程、核心調用等等,具體如Windows NT/2000模組ntoskrnl.exe中的NtBuildNumber與KeServiceDescriptorTable等(用SoftICE或Visual Studio所帶的Dependency Walker之類的可以看到),前者只是指出當前Windows的Build號(如SoftICE下可用dw命令查出我的機器中為0893h
Time of Update: 2018-12-05
As part of the User Management in Computer Management, you can define a Logon script,which will be executed when you logon locally to your system. Such logonscript can containany valid Windows XP Command line instruction.(You may be used to see
Time of Update: 2018-12-05
刪除註冊表中的項 Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run] 儲存為reg檔案雙擊導如即可刪除此項 注意有個“-”號 刪除註冊表中的值 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/
Time of Update: 2018-12-05
開啟Windows 7 telnet用戶端功能2010-04-07 10:16 Windows 7在安全性方面較之Windows XP有較大的增強,預設情況下Windows 7 telnet伺服器和用戶端功能均未開啟。由於配置交換器等遠程操作,需要用到telnet用戶端。簡單的幾步操作即可以開啟Windows 7 telnet功能。 依次單擊“開始”——“控制台”——“程式”,開啟Windows 7“程式”對話方塊,單擊中“開啟或關閉Windows功能”命令,找到對應選項,選擇即可。來自: