+ -
当前位置:首页 → 问答吧 → 一下汇编创建窗口为什么不成功

一下汇编创建窗口为什么不成功

时间:2011-01-23

来源:互联网

Assembly code
start:
main proc;create main window
    local hWnd:dword
    local pWndClass:WNDCLASSEX,pMsg:MSG
    
    invoke RtlZeroMemory,addr pWndClass,sizeof WNDCLASSEX
    invoke GetModuleHandle,m_null
    mov hInst,eax
    mov pWndClass.hInstance,eax
    invoke LoadCursor,0,IDC_ARROW
    mov    pWndClass.hCursor,eax
    mov pWndClass.cbSize,sizeof WNDCLASSEX
    mov    pWndClass.style,CS_HREDRAW or CS_VREDRAW
    mov    pWndClass.lpfnWndProc,offset WndProc
    mov pWndClass.lpszClassName,offset msz_WndClass
    mov    pWndClass.hbrBackground,COLOR_WINDOW + 1
    invoke RegisterClassEx,addr pWndClass
    invoke CreateWindowEx,WS_EX_CLIENTEDGE,offset msz_WndClass,offset msz_WndTitle,\
        WS_OVERLAPPEDWINDOW,100,100,600,400,m_null,m_null,hInst,m_null
    cmp eax,0 ;每次执行CreateWindowEx的eax都是0
    jz @exitproc
    mov hWnd,eax
    invoke ShowWindow,hWnd,SW_SHOWNORMAL
    invoke UpdateWindow,hWnd
@msgloop:
    invoke GetMessage,addr pMsg,m_null,m_null,m_null
    cmp eax,0
    jz @exitproc
    invoke TranslateMessage,addr pMsg
    invoke DispatchMessage,addr pMsg
@exitproc:
    invoke ExitProcess,m_null
main endp
end start

作者: a64201205   发布时间: 2011-01-23

没有头文件吧.

作者: MSOKD   发布时间: 2011-01-23