.386
.model flat,stdcall
option casemap:none
include windows.inc
include gdi32.inc
includelib gdi32.lib
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data
hInstance dd ? ;存放应用程序的句柄
hWinMain dd ? ;存放窗口的句柄
showButton byte 'button',0
button db 'button',0
.const
szClassName db 'MyClass',0
szCaptionMain db 'My first Window!',0
szText db 'Win32 Assembly,Simple and powerful!',0
.code
_ProcWinMain proc uses ebx edi esi,hWnd,uMsg,wParam,lParam ;窗口过程
local @stPs:PAINTSTRUCT
local @stRect:RECT
local @hDc
mov eax,uMsg ;uMsg是消息类型,如下面的WM_PAINT,WM_CREATE
.if eax==WM_PAINT ;如果想自己绘制客户区,在这里些代码,即第一次打开窗口会显示什么信息
invoke BeginPaint,hWnd,addr @stPs
mov @hDc,eax
invoke GetClientRect,hWnd,addr @stRect
invoke DrawText,@hDc,addr szText,-1,addr @stRect,DT_SINGLELINE or DT_CENTER or DT_VCENTER ;这里将显示szText里的字符串
invoke EndPaint,hWnd,addr @stPs
.elseif eax==WM_CLOSE ;窗口关闭消息
invoke DestroyWindow,hWinMain
in
win32汇编窗口中添加第一个按钮
最新推荐文章于 2025-01-14 10:40:49 发布