Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CreateWindowEx
- LPVOIND IpParam dodatkowy parametr do okna (zwykle 0)
- HINSTANCE hInstance invoke GetModuleHandle,0
- mov hInstance,eax
- .data?
- hInstance HINSTANCE ?
- HMENU hMenu (brak menu =0)
- HWND hWndParent NULL albo 0 jesli tworzone bedzie oknem glownym
- int nHeight/nWidth CW_USEDEFAULT
- int y CW_USEDEFAULT
- int x CW_USEDEFAULT
- DWORD dwStyle WS_OVERLAPPENDWINDOW (styl okna)
- LPCTSTR IpWindowName tytul okna
- LPCTSTR IpClassName
- DWORD dwExStyle 0 zwykle CreateWindow zamiast CreateWindowEx zeby tego nie bylo
- ------------------------------------------------------------------------------------
- .code
- call WinMain
- WinMain proc
- LOCAL KlasaOkna:WNDCLASSEX
- LOCAL msgKomunikat:MSG
- mov KlasaOkna.cbSize,sizeof(WNDCLASSEX)
- mov KlasaOkna.style,CS_HREDRAW or CS_VREDRAW
- mov KlasaOkna.IpfnWndProc,offset WndProc
- push hInstance
- pop KlasaOkna.hInstance
- mov KlasaOkna.hbrBackground,COLOR_WINDOW+1
- mov KlasaOkn.IpszClassName,offset Klasa
- invoke LeadIcon,0,IDI_APPLICATION
- mov KlasaOkna.hIcon,eax
- mov KlasaOkna.hIconSm,eax
- invoke LeadCursor,0,IDC_ARROW
- mov KlasaOkna.hCursor,eax
- invoke RegisterClassEx, addr KlasaOkna
- invoke CreateWindowEx,0,addr Klasa,addr TytulOkna,WS_OVERLAPPEDWINDOW,10,10,320,200,0,0,hInstance,0
- invoke ExitProcess,0
- .data
- Klasa db "WinClass",0
- TytulOkna db "Moje okno",0
- .WHILE TRUE
- invoke GetMessage,addr msg,0,0,0
- .BREAK .IF(!eax)
- invoke TranslateMessage,addr msg
- invoke DispatchMessage,addr msg
- .ENDW
- ret
- WndProc proc hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
- .IF uMsg == WM_DESTROY
- invoke PostQuitMessage,0
- .ELSE
- invoke DefWindowProc,hWnd,uMsg,wParam,lParam
- ret
- .ENDIF
Add Comment
Please, Sign In to add comment