win32汇编的问题:用DialogBoxParam建立的对话框,无法收到wm_keydown,wm_char之类的消息,怎么回事呢。
我主要是用汇编来练一下手,主要就是开一个窗口,当我按下什么键的时候,就显示相应的ascii值就行了。
窗口不是用createwindowex建立的,我用vc6,建立一个资源文件,里面有一个窗口,然后用DialogBoxParam建立的对话框.
是不是对话框属性要怎么设置啊,我都试过一些属性,还是不行。
main proc
local @stMsg:MSG
invoke InitCommonControls
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,hInstance,101,NULL,offset ProcDlgMain, 0
ret
这就是建立对话框的代码,101是dialog资源id,ProcDlgMain当然就是dialog过程了。
ProcDlgMain proc hWnd:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD
mov eax,uMsg
.if eax == WM_CLOSE
invoke PostMessage,hWnd,WM_QUIT,0,0
.elseif eax == WM_KEYUP
invoke PostMessage,hWnd,WM_QUIT,0,0
.elseif eax == WM_CHAR
invoke PostMessage,hWnd,WM_QUIT,0,0
大家有时间也研究一下啊。