iczelion tut14[3]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 jimgreen 的 blog

    mov     eax,msg.wparam
    ret
winmain endp

wndproc proc hwnd:hwnd, umsg:uint, wparam:wparam, lparam:lparam
    local startinfo:startupinfo
    .if umsg==wm_destroy
        invoke postquitmessage,null
    .elseif umsg==wm_initmenupopup
        invoke getexitcodeprocess,processinfo.hprocess,addr exitcode
        .if eax==true
            .if exitcode==still_active
                invoke enablemenuitem,hmenu,idm_create_process,mf_grayed
                invoke enablemenuitem,hmenu,idm_terminate,mf_enabled
            .else
                invoke enablemenuitem,hmenu,idm_create_process,mf_enabled
                invoke enablemenuitem,hmenu,idm_terminate,mf_grayed
            .endif
        .else
            invoke enablemenuitem,hmenu,idm_create_process,mf_enabled
            invoke enablemenuitem,hmenu,idm_terminate,mf_grayed
        .endif
    .elseif umsg==wm_command
        mov eax,wparam
        .if lparam==0
            .if ax==idm_create_process
                .if processinfo.hprocess!=0
                    invoke closehandle,processinfo.hprocess
                    mov processinfo.hprocess,0
                .endif
                invoke getstartupinfo,addr startinfo
                invoke createprocess,addr programname,null,null,null,false,\
                                        normal_priority_class,\
                                        null,null,addr startinfo,addr processinfo
                invoke closehandle,processinfo.hthread
            .elseif ax==idm_terminate
                invoke getexitcodeprocess,processinfo.hprocess,addr exitcode
                .if exitcode==still_active
                    invoke terminateprocess,processinfo.hprocess,0
                .endif
                invoke closehandle,processinfo.hprocess
                mov processinfo.hprocess,0
            .else
                invoke destroywindow,hwnd

本文关键:iczelion asm
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top