Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .386
- .model flat,stdcall
- option casemap:none
- include \masm32\include\windows.inc
- include \masm32\include\user32.inc
- include \masm32\include\kernel32.inc
- includelib \masm32\lib\user32.lib
- includelib \masm32\lib\kernel32.lib
- .data
- Klasa db "WinClass",0
- Tytul db "Kurs MASM32 - Pierwsze okno",0
- .data?
- hInstance HINSTANCE ?
- .code
- start:
- invoke GetModuleHandle,0
- mov hInstance,eax
- call WinMain
- invoke ExitProcess,0
- WinMain proc
- LOCAL wc:WNDCLASSEX
- LOCAL msg:MSG
- mov wc.cbSize,sizeof WNDCLASSEX
- mov wc.style,CS_HREDRAW or CS_VREDRAW
- mov wc.lpfnWndProc,offset WndProc
- mov wc.cbClsExtra,0
- mov wc.cbWndExtra,0
- push hInstance
- pop wc.hInstance
- mov wc.hbrBackground,COLOR_WINDOW+1
- mov wc.lpszMenuName,0
- mov wc.lpszClassName,offset Klasa
- invoke LoadIcon,0,IDI_APPLICATION
- mov wc.hIcon,eax
- mov wc.hIconSm,eax
- invoke LoadCursor,0,IDC_ARROW
- mov wc.hCursor,eax
- invoke RegisterClassEx,addr wc
- invoke CreateWindowEx,0,addr Klasa,addr Tytul,\
- WS_OVERLAPPEDWINDOW or WS_VISIBLE,100,100,320,200,0,0,hInstance,0
- .WHILE TRUE
- invoke GetMessage,addr msg,0,0,0
- .BREAK .IF (!eax)
- invoke TranslateMessage,addr msg
- invoke DispatchMessage,addr msg
- .ENDW
- ret
- WinMain endp
- 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
- WndProc endp
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement