Windows API一日一練(43)WaitForSingleObject函數

 上面已經介紹怎麼樣建立一個簡單的線程,在那裡就需要使用函數WaitForSingleObject,它是用來做什麼的呢?其實它是用來實現等待線程結束的,它的機理是這樣的,通知Windows作業系統,現在我進入睡眼狀態,當我關注的對象條件是否滿足,如果滿足了就吵醒我。在那裡關注的對象是線程是否退出,這是一個條件測試。如果不等待線程關閉,就去刪除線程的資源,就會出錯的。使用前面的線程是簡單一些,但它不合適複用,現在就使用C++的類來封裝一個比較好用的類,這樣就可以很方便地建立很多線程來使用,當然還可

Windows API一日一練(44)wsprintf函數

 Windows

Windows API一日一練(64) RegSetValueEx和RegDeleteValue函數

 Windows API一日一練(64)

Windows API一日一練(16)BeginPaint和EndPaint函數

 當人們使用軟體時,大多數是想看到自己所需要的結果,比如玩RPG遊戲,就是想看到自己所操作的主角做各種各樣的事情。在2D的RPG遊戲裡,其實做的事情,就是不斷地更新畫面,也就是不斷地顯示BMP的圖片。在普通的程式裡,大多也是顯示各種文本和圖片的,但是有一種類型的應用程式是不怎麼顯示結果的,那就是服務程式。不管怎麼樣,只要我們想看到程式所執行後的結果,就需要在程式裡顯示出來。也就是需要調用BeginPaint和EndPaint函數。BeginPaint函數的作用是告訴Windows系統,要開始向顯

Windows API一日一練(48)PostThreadMessage函數

 Windows

Windows API一日一練(65)RegQueryValueEx函數

上一次介紹怎麼樣儲存資料到註冊表裡,這次就需要從註冊表裡讀取資料出來了。在這個例子裡是讀取字串資料出來,主要調用函數RegQueryValueEx來實現。下面的例子裡就是先查詢索引值的長度,然後再讀取內容出來。 函數RegQueryValueEx聲明如下: WINADVAPILONGAPIENTRYRegQueryValueExA (    __in HKEY hKey,    __in_opt LPCSTR lpValueName,    __reserved LPDWORD

Windows API一日一練(69)GetTickCount函數

 Windows API一日一練(69)GetTickCount函數時間計時,也不是越精確越好,有時只需要有一個計時就行了。這樣就可以使用毫秒層級的計時函數GetTickCount。這個函數是記錄了系統啟動以來的時間毫秒,當超過49.7天,這個值變為從0開始,也就是說49.7天是一個周期。當不同的兩次函數調時,就返回兩次時間差值。函數GetTickCount聲明如下:WINBASEAPIDWORDWINAPIGetTickCount(    VOID    );調用函數的例子如下:#001 //

Windows API一日一練(38)SetWindowPos函數

 Windows API一日一練(38)SetWindowPos函數    

Windows API一日一練(17)DialogBox和DialogBoxParam函數

 對話方塊是比較常用的視窗,比如當你想讓使用者輸入一些參數時就可以使用對話方塊。或者提示一些警告的資訊,都是可以使用對話方塊的。比如當你拷貝檔案時,Windows就會提示一個拷貝檔案的進度對話方塊。對話方塊的使用範圍比較廣,並且它在設計時就可以看到啟動並執行結果模樣,這樣方便設計。但對話方塊又分為兩類,一種對話方塊運行後,一定要使用者關閉那個對話方塊後才能返回到父視窗;一種對話方塊是不需要關閉後就可以直接返回父視窗。因此,軟體開發人員就要考慮這個對話方塊的結果是否會影響後面的操作,如果這個對話方

Windows API一日一練(20)LoadString、LoadIcon和LoadCursor函數

 在編寫國際化的應用程式裡,經常要使用不同語言的字串。比如中文菜單裡叫做“檔案”,而在英語裡叫做“File”。開發這種軟體的功能是一樣的,只是介面上顯示的文字不一樣而已。為了方便這種軟體的開發,在Windows裡經常使用的方法就是替換掉顯示的字串,比如指定在中文裡就顯示“檔案”,在英語裡就顯示“File”,是通過函數LoadString從不同的資源裡載入不同的字串顯示來實現的。其實所有可變的字串,都可以使用函數LoadString從資源裡載入字串顯示。映像的資訊是非常方便人們記憶的,像交通訊號一

Windows API一日一練(71)GetComputerName函數

 Windows

Windows API一日一練(39)AnimateWindow函數

 Windows API一日一練(39)AnimateWindow函數    

Windows API一日一練(40)CreateRectRgn和CombineRgn函數

 Windows API一日一練(40)CreateRectRgn和CombineRgn函數創新是永恒的追求。當大家習慣Windows的介面時,又想自己開發的軟體耳目一新的感覺,那麼就得要改變視窗的形狀,比如心形的視窗,總之是不規則的視窗。這時就需要使用到叫做地區的技術。地區就是把不同的形狀的圖形進行組合,然後可以填充它,或者在它那裡顯示。比如MSN左邊的TAB按鈕,應就是地區的運用就可以實現它了。函數CreateRectRgn聲明如下:WINGDIAPI HRGN    WINAPI

Windows API一日一練(36)SetWindowText函數

 Windows API一日一練(36)SetWindowText函數     在開發軟體裡,有時候需要改變視窗上標題的文字。比如按鈕上的文字,為了適應多國語言的顯示,就需要改變它顯示的內容。這時就需要使用SetWindowText函數來改它的內容。下面的例子就實現改變按鈕的標題。 函數SetWindowText聲明如下:WINUSERAPIBOOLWINAPISetWindowTextA(    __in HWND hWnd,    __in_opt LPCSTR

Windows API一日一練(41)FindWindowEx函數

 當你想控制一個現有的視窗程序時,就需要擷取那個程式的視窗控制代碼。比如有一些駭客軟體需要尋找到視窗,然後修改視窗的標題。在外掛流行的今天,驚奇地發現它們也可以修改輸入視窗的文字。這其中,就需要使用到FindWindowEx函數來錨定視窗。下面就來使用這個函數來實現控制Windows裡帶的計算機程式。開啟計算機程式,最小化在狀態下面,運行本例子,點擊建立按鈕後,就可以點按鈕,就會把計算機顯示在最前面。函數FindWindowEx聲明如下:#if(WINVER >=

Windows API一日一練(37)MoveWindow函數

 Windows API一日一練(37)MoveWindow函數    

Windows API一日一練(61)GetDriveType函數

 Windows

總頁數: 1469 1 .... 279 280 281 282 283 .... 1469 Go to: 前往
Tags Index:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。