咖啡色蝴蝶 发表于 2012-12-18 10:51:49

为什么在WM_TIMER中调用MESSAGEBOX后不能关闭对话框

.386
.model flat,stdcall
option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DLG_MAIN equ 1
IDC_COUNT equ 100
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data?
hInstance dd ?
dwTickCount dd ?
.data
dwCount dd 0
.code
_ProcDlgMain proc hWnd,uMsg,wParam,lParam
mov eax,uMsg
.if eax == WM_TIMER

invoke MessageBox,hWnd,addr dwTickCount,NULL,MB_OK
invoke KillTimer,hWnd,1
invoke EndDialog,hWnd,NULL

.elseif eax == WM_INITDIALOG
invoke GetTickCount
mov dwTickCount,eax
invoke SetTimer,hWnd,1,1000,NULL
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret
_ProcDlgMain endp
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULL
end start
页: [1]
查看完整版本: 为什么在WM_TIMER中调用MESSAGEBOX后不能关闭对话框