在windows下開發程式,首先要了解windows環境下程式的執行機制。但在windows內部,其執行機制是紛繁複雜的,沒有必要了解所有的技術細節。而了解windows程式執行的根本性概念是vc++程式設計師基本素質。
windows應用程式,作業系統,計算機硬體之間的相互互動如下所示:
typedef
struct tagmsg msg;
訊息結構體包含了與那個視窗相關(hwnd hwnd)、這個訊息是什麼(uint message)、訊息的附加引數(wparam wparam、lparam lparam)、訊息發生投遞的時間(dword time)、訊息投遞時光標的位置(point pt)。
//x和y既可以用來表示座標點,也可以用來表示寬度和高度,還可以用來表示身高和體重。
int x,y;
x=30
; y=30;
typedef
int width
typedef
int height
width x;
height y;
//好處:我們從變數的型別上就可以知道x和y是用來表示寬度和高度。
int winapi winmain
( hinstance hinstance,
// handle to current instance
hinstance hprevinstance,
// handle to previous instance
lpstr lpcmdline,
// command line
int ncmdshow // show state
);
typedef
struct _wndclass wndclass;
`
示例**如下:
#include
#include
lresult callback winsunproc
(//視窗過程函式windowproc()
hwnd hwnd,
// handle to window
uint umsg,
// message identifier
wparam wparam,
// first message parameter
lparam lparam // second message parameter);
int winapi winmain
(//程式入口函式
hinstance hinstance,
// handle to current instance
hinstance hprevinstance,
// handle to previous instance
lpstr lpcmdline,
// command line
int ncmdshow // show state
)return0;
}lresult callback winsunproc
(//視窗過程函式windowproc()
hwnd hwnd,
// handle to window
uint umsg,
// message identifier
wparam wparam,
// first message parameter
lparam lparam // second message parameter
)break
;case wm_destroy:
postquitmessage(0
);break
;default
:return
defwindowproc
(hwnd,umsg,wparam,lparam);}
return0;
}
致敬孫鑫老師。 Windows 程式內部執行原理
2.應用程式 作業系統 計算機裝置硬體互動 windows程式設計完全是基於訊息的事件驅動模式 使用者需要完成某種功能,會呼叫os 某種支援,os將使用者的需要包裝成訊息,投遞到應用程式訊息對列中,應用程式從訊息對列取走訊息,做出響應 os感知裝置的變化 如滑鼠移動,鍵盤按下,並知道具體資訊 表示o...
Windows程式內部機制(下)
include includelresult callback winsunproc hwnd hwnd,uint umsg,wparam wparam,lparam lparam int winapi winmain hinstance hinstance,hinstance hprevinsta...
Windows程式內部執行機制
2 sdk software development kit 軟體開發包 3 常用控制代碼 視窗控制代碼 hwnd 位圖控制代碼 hbitmap 圖示控制代碼 hicon 選單控制代碼 hmenu 檔案控制代碼 hfile 當前例項控制代碼 hinstance 全域性記憶體物件控制代碼 hgloba...