|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 属専色灰 于 2013-6-17 22:23 编辑
为何我应用程序的左上角木有图标??还有,就算我把这个大头的脸图标从工程目录移除,可是编译出来的程序他还是大头的脸
asm代码如下:
- .386
- .model flat,stdcall
- option casemap:none
-
- include windows.inc
- include user32.inc
- includelib user32.lib
- include kernel32.inc
- includelib kernel32.lib
- ICO_BIG equ 1000h
- .data?
- hInstance dd ?
- hWinMain dd ?
- hIcoBig dd ?
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ; 数据段
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- .const
- szClassName db 'Icon and Cursor Example',0
- szCursorFile db '1.ani',0
- .code
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- _Quit proc
- invoke DestroyWindow,hWinMain
- invoke PostQuitMessage,NULL
- ret
- _Quit endp
- _ProcWinMain proc uses ebx edi esi hWnd,uMsg,wParam,lParam
- mov eax,uMsg
- ;********************************************************************
- .if eax == WM_CREATE
- invoke LoadIcon,hInstance,ICO_BIG
- mov hIcoBig,eax
- ; invoke SendMessage,hWnd,WM_COMMAND,ICO_BIG,NULL
- invoke SendMessage,hWnd,WM_SETICON,ICO_BIG,hIcoBig
-
- .elseif eax == WM_CLOSE
- call _Quit
- .else
- invoke DefWindowProc,hWnd,uMsg,wParam,lParam
- ret
- .endif
- xor eax,eax
- ret
- _ProcWinMain endp
- _WinMain proc
- local @stWndClass:WNDCLASSEX
- local @stMsg:MSG
- invoke GetModuleHandle,NULL
- mov hInstance,eax
-
- ;********************************************************************
- ; 注册窗口类
- ;********************************************************************
- invoke RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
- push hInstance
- pop @stWndClass.hInstance
- mov @stWndClass.cbSize,sizeof WNDCLASSEX
- mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
- mov @stWndClass.lpfnWndProc,offset _ProcWinMain
- mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
- mov @stWndClass.lpszClassName,offset szClassName
- invoke RegisterClassEx,addr @stWndClass
- ;********************************************************************
- ; 建立并显示窗口
- ;********************************************************************
- invoke CreateWindowEx,WS_EX_CLIENTEDGE,\
- offset szClassName,offset szClassName,\
- WS_OVERLAPPEDWINDOW,\
- 100,100,400,300,\
- NULL,NULL,hInstance,NULL
- mov hWinMain,eax
- invoke ShowWindow,hWinMain,SW_SHOWNORMAL
- invoke UpdateWindow,hWinMain
- ;********************************************************************
- ; 消息循环
- ;********************************************************************
- .while TRUE
- invoke GetMessage,addr @stMsg,NULL,0,0
- .break .if eax == 0
- invoke TranslateMessage,addr @stMsg
- invoke DispatchMessage,addr @stMsg
- .endw
- ret
- _WinMain endp
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- start:
- call _WinMain
- invoke ExitProcess,NULL
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- end start
复制代码 rc代码如下:
- #define ICO_BIG 4096
- ICO_BIG ICON DISCARDABLE "Big.ico"
复制代码 ID看错了!不好意思
是不是我的RC代码写错了,还是哪里有问题??
win32_ico.zip
(46.82 KB, 下载次数: 2)
|
|