首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

关于WIN32有关问题

2012-11-04 
关于WIN32问题。这段代码编译链接完成以后,运行EXE没有反应啊。老罗光盘里的也是一样。请问什么原因呢?谢谢了

关于WIN32问题。
这段代码编译链接完成以后,运行EXE没有反应啊。老罗光盘里的也是一样。请问什么原因呢?谢谢了。

Assembly code
            .386            .model    flat,stdcall            option    casemap:none;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;include文件定义;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>include    windows.incinclude    user32.incincludelib    user32.libinclude    kernel32.incincludelib    kernel32.lib;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;EQU等值定义;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>ICO_MAIN    EQU    1000DLG_MAIN    EQU    1000IDC_TEXT    EQU    1001;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;数据段;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>        .data?hInstance    dd    ?hWinMain    dd    ?hHook    dd    ?szAscii    db        32    dup(?);>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;代码段;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>        .code;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;钩子回调函数;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>HookProc    proc    _dwCode,_wParam,_lParam            LOCAL    @szKeyState[256]:byte                        invoke    CallNextHookEx,hHook,_dwCode,_wParam,_lParam            pushad            .if    _dwCode    ==    HC_ACTION                    mov    ebx,_lParam                    assume    ebx:ptr    EVENTMSG                    .if    [ebx].message    ==    WM_KEYDOWN                        invoke    GetKeyboardState,addr    @szKeyState                        invoke    GetKeyState,VK_SHIFT                        MOV    @szKeyState+VK_SHIFT,al                        mov    ecx,[ebx].paramH                        shr        ecx,16                        invoke    ToAscii,[ebx].paramL,ecx,addr @szKeyState,addr    szAscii,0                        mov    byte    ptr    szAscii    [eax],0                        .if    szAscii    ==0dh                            mov    word    ptr    szAscii+1,0ah                        .endif                        invoke    SendDlgItemMessage,hWinMain,IDC_TEXT,EM_REPLACESEL,0,addr    szAscii                    .endif                    assume    ebx:nothing            .endif            popad            retHookProc endp;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>_ProcDlgMain    proc    uses    ebx    edi    esi hWnd,wMsg,wParam,lParam                        mov    eax,wMsg;************************************************************************************************                .if    eax    ==    WM_CLOSE                    invoke    UnhookWindowsHookEx,hHook                    invoke    EndDialog,hWnd,NULL;************************************************************************************************                .elseif    eax    ==    WM_INITDIALOG                    push    hWnd                    pop    hWinMain                    invoke    SetWindowsHookEx,WH_JOURNALRECORD,addr    HookProc,hInstance,NULL                    .if    eax                        mov    hHook,eax                    .else                        invoke    EndDialog,hWnd,NULL                                            .endif;************************************************************************************************                .else                    mov    eax,FALSE                    ret                .endif                mov    eax,TRUE                ret_ProcDlgMain endp;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>start:        invoke    GetModuleHandle,NULL        mov    hInstance,eax        invoke    DialogBoxParam,eax,DLG_MAIN,NULL,offset    _ProcDlgMain,NULL        invoke    ExitProcess,NULL;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>        end        start 



[解决办法]
工程发过来看看,649248061@qq.com

热点排行