| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 971 人关注过本帖
标题:win32汇编 窗口问题
只看楼主 加入收藏
jk656467091
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-17
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:5 
win32汇编 窗口问题
                        .386
                        .model flat,stdcall
                        option casemap:none
;\\\\\\\\\\\\\\\\\\\

    include  windows.inc
    include  gdi32.inc
    include  user32.inc
    include  kernel32.inc
    includelib gdi32.lib
    includelib user32.lib
    includelib kernel32.lib
   
;\\\\\\\\\\\\\\\\\\\\\\\\\
   
        .data?

    hInstance  dd ?
    hWinMain   dd ?
        
        .const

    szClassName db 'chuangti',0
    szCaption   db ' 标题',0
    szText      db '努力学习',0

        .code

_WndProc  proc   uses  ebx edi esi,hWnd,uMsg,wParam,lParam

    local    @stPs:PAINTSTRUCT
    local    @stRect:RECT   
    local    @hDC
   
    mov eax,uMsg
    .if eax==WM_PAINT
    invoke BeginPaint,hWnd,addr @stps
    mov @hDC,eax
    invoke GetClientRect,hWnd,addr @stRect
    invoke DrawText,@hDC,offset szText,-1,addr @stRect,DT_SINGLELINE or CENTER or VCENTER

    invoke EndPaint,hWnd,addr @stPs

    .elseif eax==WM_CLOSE
    invoke DestroyWindow,hWinMain
    invoke PostQuitMessage,NULL
    .else
    invoke DefWindowProc,hWnd,uMsg,wParam,lParam
    ret
    .endif
   

     xor eax,eax
    ret
_WndProc endp




_WinMain  proc

    local  @stWndClass:WNDCALSSEX
    local  @stMsg:MSG

    invoke GetModuleHandle,NULL
    mov hInstance,eax
    invoke RtlZeroMemory,addr @stWndClass,sizeof @stWndClass

;`````

        invoke LoadCursor,0,IDC_ARROW
    mov @stWndClass.hCursor,eax
    push  hInstance
    pop @stWndClass.hInstance
    mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW   
    mov @stWndClass.cbSize,sizeof WNDCALLSEX
    mov @stWndClass.lpfnWndProc,_WndProc
    mov @stWndClass.hbrBackground,COLOE_WINDOW+1
    mov @stWndClass.lpClassName,offset szClassName
   

    invoke RegisterClassEX,addr @stWndClass

   
    invoke CreateWindowEX,WS_EX_CLINETEDGE,offset szClassName,offsetszCaption,WS_OVERLAPPEDWINDOW,\

        100,100,600,400,NULL,NULL,hInstanse,NULL

     mov hWinMain,eax

     invoke ShowWindow,hWinMain,SW_SHOWNORMAL
    invoke UpdateWindow,hWinMain
   
    .while   TRUE


    invoke  GetMessage,addr @stMsg,NULL,0,0
    invoke  TranslateMessage,addr @stMsg
    invoke  DisPatchMessage,@stMsg
        
    .endw
    ret

_WndMain endp

   

start:
    call _WinMain
    invoke ExitProcess,NULL
end start





    请教一下高手
为什么 我在编译的时候 经常出现什么 什么未定义 什么的 究竟 是哪里的问题呢?

123.asm(37) : error A2006: undefined symbol : @stps
123.asm(37) : error A2114: INVOKE argument type mismatch : argument : 2
123.asm(40) : error A2006: undefined symbol : CENTER
123.asm(40) : error A2114: INVOKE argument type mismatch : argument : 5
123.asm(62) : error A2006: undefined symbol : WNDCALSSEX
123.asm(62) : error A2195: parameter or local cannot have void type
123.asm(82) : error A2006: undefined symbol : RegisterClassEX
123.asm(85) : error A2006: undefined symbol : CreateWindowEX
123.asm(99) : error A2006: undefined symbol : DisPatchMessage
123.asm(104) : fatal error A1010: unmatched block nesting : _WndMain
NMAKE : fatal error U1077: 'e:\masm32\bin\ml.EXE' : return code '0x1'
Stop.


这是哪里的问题?  新手 请高手不要见笑O(∩_∩)O















搜索更多相关主题的帖子: include option model 
2011-06-17 10:30
jk656467091
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-17
收藏
得分:0 
怎么没人呢 ?
2011-06-17 10:35
jk656467091
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-17
收藏
得分:0 
别嫌问题简单啊!  帮帮忙!  跪求了!
2011-06-17 10:38
obstratiker
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:198
专家分:758
注 册:2011-5-5
收藏
得分:20 
你定义的是 @stPs:PAINTSTRUCT ,但是在 37 行写成了 @stps
在 40 行中,CENTER 和 VCENTER 参数要加前缀 DT_  表示他们是绘图文字的变量
在 62 行,WNDCLASS 写错啦! 写成 WNDCALSS
76 行 sizeof WNDCLASSEX 写错
78 行 COLOR_WINDOW+1 写错
79 行 @stWndClass.lpszClassName 写错
82 和 85 行,RegisterClassEx ,CreateWindowEx 末尾是 Ex 不是 EX ,是 hInstance 不是 hInstanse ,offset szCaption 又沾一块了,WS_EX_CLIENTEDGE 又写错
99 行 ,是 DispatchMessage ,又写错,它的接收的参数是地址要加 addr
104 行,你定义的是 _WinMain  proc 但结尾写成 _WndMain endp

以上问题表示……晕,其实你可以自己解决



2011-06-17 15:08
jk656467091
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-17
收藏
得分:0 
回复 4楼 obstratiker
太谢谢你了!  ╮(╯▽╰)╭ 我写错的太多了!
2011-06-17 19:55
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
收藏
得分:0 
恭喜LZ问题解决哈
2011-06-19 08:59
快速回复:win32汇编 窗口问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024510 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved