iczelion tut16[2]

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

本文简介:选择自 jimgreen 的 blog

           cw_usedefault,300,200,null,null,\
           hinst,null
    mov   hwnd,eax
    invoke showwindow, hwnd,sw_shownormal
    invoke updatewindow, hwnd
    invoke getmenu,hwnd
    mov  hmenu,eax
    .while true
            invoke getmessage, addr msg,null,0,0
            .break .if (!eax)
            invoke translatemessage, addr msg
            invoke dispatchmessage, addr msg
    .endw
    mov     eax,msg.wparam
    ret
winmain endp

wndproc proc hwnd:hwnd, umsg:uint, wparam:wparam, lparam:lparam
    .if umsg==wm_create
        invoke createevent,null,false,false,null
        mov  heventstart,eax
        mov  eax,offset threadproc
        invoke createthread,null,null,eax,\
                             null,0,\
                             addr threadid
        invoke closehandle,eax
    .elseif umsg==wm_destroy
        invoke postquitmessage,null
    .elseif umsg==wm_command
        mov eax,wparam
        .if lparam==0
            .if ax==idm_start_thread
                invoke setevent,heventstart
                invoke enablemenuitem,hmenu,idm_start_thread,mf_grayed
                invoke enablemenuitem,hmenu,idm_stop_thread,mf_enabled
            .elseif ax==idm_stop_thread
                mov  eventstop,true
                invoke enablemenuitem,hmenu,idm_start_thread,mf_enabled
                invoke enablemenuitem,hmenu,idm_stop_thread,mf_grayed
            .else
                invoke destroywindow,hwnd
            .endif
        .endif
    .elseif umsg==wm_finish
        invoke messagebox,null,addr successstring,addr appname,mb_ok
    .else
        invoke defwindowproc,hwnd,umsg,wparam,lparam
        ret
.endif
    xor    eax,eax
    ret
wndproc endp

threadproc proc uses ecx param:dword
        invoke waitforsingleobject,heventstart,infinite
        mov  ecx,600000000
        .while ecx!=0
                .if eventstop!=true
                        add  eax,eax

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

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

go top