?? 靳42.txt
字號:
WinMain函數前的修飾符WINAPI的解釋,我們使用goto definition功能,發現WINAPI其實就是__stdcall。
//// :: std = standard -> 標準
__stdcall與__cdecl是兩種不同的函數調用習慣,定義了參數的傳遞順序、堆棧清除等。關于它們的詳細信息請參看msdn。由于除了那些可變參數的API函數外,其余的API函數都是__stdcall習慣。由于VC++程序默認的編譯選項是__cdecl,所以在VC++中調用這些__stdcall習慣的API函數,必須在聲明這些函數的原型時加上__stdcall修飾符,以便對該函數的調用使用__stdcall習慣。我們曾有這樣的經驗,在Delphi(默認的編譯選項是__stdcall)中編寫的dll中的函數,在VC++中被調用時,總是造成程序崩潰,在函數的原型聲明中加上__stdcall修飾符,便解決了這個問題。回調函數也必須是__stdcall調用習慣,在這里是用CALLBACK來標識的,否則,在NT4.0環境,程序將崩潰,但win98和win2000卻沒有這種現象。
Winmain函數的程序代碼按功能劃分主要有兩部分:1.產生并顯示程序的主窗口。窗口創建并顯示后,用戶便可以在窗口上進行各種操作了,用戶的操作及程序狀態的變化都以消息的形式放到了應用程序的消息隊列中。2.從消息隊列循環取走消息,并將消息派發到窗口過程函數中去處理。當消息循環取到一條WM_QUIT消息時,將結束循環,WinMain函數返回,結束整個程序的運行。如果WinMain在消息循環之前返回,程序沒有正常運行,返回值為0。如果在消息循環之后返回,返回值為WM_QIUT消息的wParam參數。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -