All pastes #226181 Raw Edit

Unnamed

public text v1 · immutable
#226181 ·published 2006-10-28 10:33 UTC
rendered paste body
.386
.model flat,stdcall
option casemap:none

include C:\masm32\include\windows.inc
include C:\masm32\include\kernel32.inc
includelib C:\masm32\lib\kernel32.lib
include C:\masm32\include\user32.inc
includelib C:\masm32\lib\user32.lib

WinMain proto :DWORD,:DWORD,:DWORD,:DWORD

.data
    ClassName   db "class name",NULL
    AppName     db "application name",NULL
.data?
    hInstance       HINSTANCE?
    CommandLine     LPSTR?
.code
    start:
        invoke GetModuleHandle,NULL
        mov hInstance,eax ; now we have the handle in hInstance
        invoke GetCommandLine
        mov CommandLine,eax ; command line stored in CommandLine
        invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT
        invoke ExitProcess,eax
; -------------------------------------------------------------------------
            WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,cmdLine:LPSTR,CmdShow:DWORD
                LOCAL wc:WNDCLASSEX
                LOCAL msg:MSG
                LOCAL hwnd:HWND
                
                mov wc.cbSize,      SIZEOF WNDCLASSEX
                mov wc.style,       CS_HREDRAW OR CS_VREDRAW
                mov wc.lpfnWndProc, OFFSET WndProc
                mov wc.cbWndExtra,  NULL
                mov wc.cbClsExtra,  NULL
                push hInstance
                pop wc.hInstance
                ; ... more to come
; -------------------------------------------------------------------------
    end start