|  | 
 
| 
本帖最后由 属専色灰 于 2013-6-17 22:23 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 为何我应用程序的左上角木有图标??还有,就算我把这个大头的脸图标从工程目录移除,可是编译出来的程序他还是大头的脸
 
   asm代码如下:
 
 rc代码如下:复制代码
                .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
 
 
 
 ID看错了!不好意思复制代码#define ICO_BIG 4096
ICO_BIG ICON DISCARDABLE "Big.ico"
 
 是不是我的RC代码写错了,还是哪里有问题??
  win32_ico.zip
(46.82 KB, 下载次数: 2) 
 | 
 |