当前位置:编程学习 > 汇编语言 >>

Win32创建一个窗口的源代码,怎么编译不成功

.386 ;使用386指令集 .model flat,stdcall;将所有段的寻址方式设置为平坦方式,堆栈平衡方式设置为stdcall option casemap:none ;设置为大小写敏感 include windows.inc include kernel32.inc includelib kernel32.lib include user32.inc includelib user32.lib .data ModuleHandle dd ? ;保存模块句柄 WinHandle dd ? ;保存窗口句柄 .const WindowsClassName db 'FirstWindow',0 WindowsTitleName db 'Fuck Sister',0 .code _WinProc proc uses ebx ebp esi edi,Hwnd,Message,varam,lparam;窗口过程 mov eax,Message .if eax==WM_CLOSE invoke DestroyWindow,WinHandle ;销毁窗口 invoke PostQuitMessage,NULL;向消息队列传送一个销毁消息.让系统做出释放内存等操作 xor eax,eax ret .endif invoke DefWindowProc,Hwnd,Message,varam,lparam ret _WinProc endp _Createwindow proc local @stWindowclass:WNDCLASSEX ;建立一个窗口类的结果变量 local @stMeg:MSG ;建立一个取GetMessage取出的消息保存的结构变量 invoke RtlZeroMemory,addr @stWindowclass,sizeof @stWindowclass ;使用新创建的结构变量之前先清零 mov @stWindowclass.cbSize,sizeof @stWindowclass mov @stWindowclass.style,CS_HREDRAW or CS_VREDERAW or CS_DBLCLKS mov @stWindowclass.lpfnWndProc,offset _WinProc invoke GetModuleHandle,NULL mov ModuleHandle,eax mov @stWindowclass.hInstance,eax invoke LoadIcon,NULL,IDI_WARNING mov @stWindowclass.hIcon,eax ;程序图标设置成叹号 mov @stWindowclass.hcursor,eax ;程序鼠标形状设置成叹号 mov @stWindowclass.hbrBackground,COLOR_WINDOW+1 mov @stWindowclass.lpszClassName,offset WindowsClassName ;***************注册窗口类 invoke RegisterClassEx,addr @stWindowclass;注册窗口类 ;***************建立窗口类 invoke CreateWindowEx,WS_EX_CLIENTEDGE,offset WindowsClassName,offset WindowsTitleName,WS_OVERLAPPEDWINDOW,100,200,400,600,NULL,NULL,ModuleHandle,NULL mov WinHandle,eax ;***************显示窗口 invoke ShowWindow,WinHandle,SW_RESTORE invoke UpdateWindow,WinHandle ;***************进入无限制的消息循环 while TRUE invoke PeekMessage,addr @stMeg,WinHandle,0,0,PM_REMOVE .if eax ;判断eax如果非0则进入循环,因为如果eax=0则证明消息队列中没有消息所以无需做任何处理 .break .if @stMeg.Message==WM_QUIT;如果所取到的消息为销毁则跳出循环 invoke DispatchMessage,addr @stMeg .endif endw ret _Createwindow endp start:call _Createwindow invoke ExitProcess,NULL end start
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,