国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 基礎常識 > 正文

win32匯編之窗口程序

2020-04-27 19:02:01
字體:
來源:轉載
供稿:網友

窗口的創建過程:

1)。使用GetModulHandle獲取窗口句柄

GetModuleHandle,lpModuleName

獲取一個應用程序或動態鏈接庫的模塊句柄

lpModuleName參數是一個指向含有模塊名字字符串的指針

如果返回成功,則返回模塊句柄,存放在eax中。如果lpModuleName為NULL,則返回調用者本模塊的句柄

2)。注冊窗口類

定義一個WNDCLAS***結構類型的變量,對其進行賦值,在調用RegisterClas***函數在系統中注冊。

WNDCLAS***的結構定義如下:

WNDCLAS*** STRUCT

cbSize DWORD ? ;結構體的字節數我們可以用sizeof(WNDCLAS***)來獲得準確的值

style DWORD ? ;窗口風格

lpfnWndProc DWORD ? ;窗口過程的地址

cbCl***tra DWORD ? ;緊跟在窗口類結構后邊的字節數

cbWndExtra DWORD ? ;緊跟在窗口事例后的附加字節數

hInstance DWORD ? ;本模塊的事例句柄

hIcon DWORD ? ;圖標的句柄

hCursor DWORD ? ;光標的句柄

hbrBackground DWORD ? ;背景色

lpszMenuName DWORD ? ;指向類名稱的指針

hIconSm DWORD ? ;小圖標

WNDCLAS*** ENDS

RegisterClas*** lpClassName

lpClassName參數是窗口類的地址

3)。建立窗口

CreateWindowEx, dwExstyle, lpClassName, lpWindowName, dwStyle,/

x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam

dwExstyle和dwStyle決定了窗口的外形和行為,dwStyle是win16開始就有點的屬性,dwExstyle是win32中擴展的。

lpClassName:建立窗口使用的類名字符串指針。

lpWindowName:指向窗口名稱的字符串。會顯示在標題欄中。

x,y:指向窗口左上角位置,單位是像素

nWidth, nHeight:窗口的寬度和高度,單位是像素。

hWndParent:父窗口的句柄,若無父窗口,則為NULL

hMenu:窗口上要出現菜單的句柄。

hInstance:模塊句柄,指定了窗口所屬的程序模塊。

lpParam:指針,指向一個欲傳給窗口的參數

4)。消息循環

;>>>>>>>>>消息循環

.while TRUE

invoke GetMessage, addr @stMsg,NULL, 0, 0

.break .if eax == 0

invoke TranslateMessage, addr @stMsg

invoke DispatchMessage, addr @stMsg

.endw

GetMessage:從消息隊列中取出一條消息,準備處理

TranslateMessage:遇到鍵盤消息則將掃描碼轉換成ASCII碼,否則不處理

DispatchMessage:將消息發送到窗口對應的窗口過程去處理。

窗口過程

WindowProc proc uses ebx edi esi, hWnd, uMsg, wParam, lParam

mov eax, uMsg

.if eax == WM_XXX

<處理WM_XXX消息>

.elseif eax == WM_YYY
(責任編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜君县| 东港市| 思南县| 卓尼县| 和政县| 玛多县| 岳西县| 长沙市| 肇源县| 吕梁市| 甘洛县| 永和县| 乌什县| 沅陵县| 托里县| 夏津县| 东方市| 平果县| 丹棱县| 宁明县| 宜都市| 东平县| 嘉义市| 双峰县| 麟游县| 清流县| 涿鹿县| 沾益县| 陆川县| 普定县| 阿合奇县| 莱州市| 金昌市| 平谷区| 望都县| 朝阳市| 壶关县| 绵阳市| 长宁区| 康乐县| 中西区|