createwindow.monkey2 838 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. Namespace test
  2. #Import "<win32>"
  3. Using win32..
  4. Function MyWndProc:LRESULT_WINAPI( hwnd:HWND,uMsg:UInt,wParam:WPARAM,lParam:LPARAM )
  5. Return DefWindowProcW( hwnd,uMsg,wParam,lParam )
  6. End
  7. Function Main()
  8. Local clsname:="MyWindowClass"
  9. Local wndclass:WNDCLASSWx
  10. wndclass.style=0
  11. wndclass.lpfnWndProc=MyWndProc
  12. wndclass.hInstance=GetModuleHandleW( Null )
  13. wndclass.lpszClassName=Cast<WCHAR Ptr>( libc.malloc( clsname.Length*2+2 ) )
  14. clsname.ToWString( wndclass.lpszClassName,clsname.Length*2+2 )
  15. Local cls:=RegisterClassW( Varptr wndclass )
  16. Local hwnd:=CreateWindowW( clsname,"My Window!",WS_OVERLAPPEDWINDOW|WS_VISIBLE,16,16,256,256,Null,Null,wndclass.hInstance,Null )
  17. Local msg:MSG
  18. While GetMessage( Varptr msg,Null,0,0 )
  19. TranslateMessage( Varptr msg )
  20. DispatchMessage( Varptr msg )
  21. Wend
  22. End