window程式設計脈絡

2021-05-25 14:39:40 字數 2987 閱讀 3466

windows應用程式程式設計是一種基於訊息的程式設計。

一般建立乙個視窗應用程式, 按以下步驟:

1. winmain函式是windows程式的入口函式。

int winapi winmain(

hinstancehinstance

,// handle to current instancehinstancehprevinstance

,// handle to previous instancelpstrlpcmdline

,// command lineintncmdshow

// show state);

2. 建立視窗物件, 並初始化其成員函式。

typedef struct _wndclass  wndclass, *pwndclass;
3. 註冊視窗物件。
atom registerclass(

const wndclass*lpwndclass

// class data);

4. 建立視窗。
hwnd createwindow(

lpctstrlpclassname

,// 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(

hwndhwnd

,// handle to windowintncmdshow

// show state);

bool updatewindow(

hwndhwnd

// handle to window);

6.訊息迴圈。
bool getmessage(

lpmsglpmsg

,// 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表...