windows應用程式程式設計是一種基於訊息的程式設計。
一般建立乙個視窗應用程式, 按以下步驟:
1. winmain函式是windows程式的入口函式。
int winapi winmain(2. 建立視窗物件, 並初始化其成員函式。hinstance
hinstance,// handle to current instancehinstancehprevinstance
,// handle to previous instancelpstrlpcmdline
,// command lineintncmdshow
// show state);
typedef struct _wndclass wndclass, *pwndclass;
3. 註冊視窗物件。
atom registerclass(const wndclass
*lpwndclass// class data);
4. 建立視窗。
hwnd createwindow(lpctstr
lpclassname,// registered class namelpctstrlpwindowname
,// window namedworddwstyle
,// window styleintx
,// horizontal position of windowinty
,// vertical position of windowintnwidth
,// window widthintnheight
,// window heighthwndhwndparent
,// handle to parent or owner windowhmenuhmenu
,// menu handle or child identifierhinstancehinstance
lpvoidlpparam
// window-creation data);
5. 顯示更新視窗。
bool showwindow(hwnd
hwnd,// handle to windowintncmdshow
// show state);
bool updatewindow(hwnd
hwnd// handle to window);
6.訊息迴圈。
bool getmessage(lpmsg
lpmsg,// message informationhwndhwnd
,// handle to windowuintwmsgfiltermin
,// first messageuintwmsgfiltermax
// last message);
bool translatemessage(const msg
*lpmsg// message information);
lresult dispatchmessage(const msg
*lpmsg// message information);
mfc-----microsoft foundation classes
mfc編寫win32應用程式基本脈絡和上面是一樣的。
但是我們用wizard新建程式時, wizard都替我們把這些事情都做好了。
我們只要基於它的框架進行修改和訊息迴圈操作即可。
mfc更能體現出物件導向的程式設計思維。
如我們進行視窗應用程式程式設計時, 主要就是對視窗類的設計和操作。
Window程式設計
1 window訊息的傳遞 對於作業系統中的大量的訊息,每個訊息作業系統對應是採用post方式還是send方式都是定義好的,作業系統對每乙個訊息的封裝資訊也是預先有約定的 不同的訊息對應的wparam和lparam該存什麼資料都是約定好的 所以針對不同的訊息,對於其傳送方式和引數資訊是要記的。2 視...
window下 UDP socket程式設計
udp提供的是無連線的,不可靠的資料傳輸 伺服器端程式的編寫 1 建立套接字 socket 這裡udp的套接字型別為資料報套接字 socket stream 2 將套接字繫結到乙個本地ip位址和埠上 bind 3 等待接收資料 recvfrom 4 使用closesocket 函式關閉套接字。客戶端...
window程式設計 訊息分類
window應用程式利用windows訊息 message 與應用程式及系統進行資訊交換。訊息分為 訊息號 有事先定義好的訊息名標識 位元組引數 wparam 用於提供訊息的附加資訊 長位元組引數 lparam 用於提供訊息的附加資訊 注 附加資訊與具體訊息號的值有關,在win中訊息用結構體msg表...