PROCTYPE ptCreateWindowEx stdcall \
dwExStyle :dword, \
lpClassName :dword, \
lpWindowName :dword, \
dwStyle :dword, \
x :dword, \
y :dword, \
nWidth :dword, \
nHeight :dword, \
hWndParent :dword, \
hMenu :dword, \
hInstance :dword, \
lpParam :dword
PROCTYPE ptShowWindow stdcall \
hWnd :dword, \
nCmdShow :dword
PROCTYPE ptUpdateWindow stdcall \
hWnd :dword
PROCTYPE ptGetMessage stdcall \
pMsg :dword, \
hWnd :dword, \
wMsgFilterMin :dword, \
wMsgFilterMax :dword
PROCTYPE ptTranslateMessage stdcall \
lpMsg :dword
PROCTYPE ptDispatchMessage stdcall \
pmsg :dword
PROCTYPE ptSetMenu stdcall \
hWnd :dword, \
hMenu :dword
PROCTYPE ptPostQuitMessage stdcall \
nExitCode :dword
PROCTYPE ptDefWindowProc stdcall \
hWnd :dword, \
Msg :dword, \
wParam :dword, \
lParam :dword
PROCTYPE ptSendMessage stdcall \
hWnd :dword, \
Msg :dword, \
wParam :dword, \
lParam :dword
PROCTYPE ptMessageBox stdcall \
hWnd :dword, \
lpText :dword, \
lpCaption :dword, \
uType :dword
PROCTYPE ptExitProcess stdcall \
exitCode :dword
extrn GetModuleHandleA :ptGetModuleHandle
extrn LoadIconA :ptLoadIcon
extrn LoadCursorA :ptLoadCursor
extrn RegisterClassExA :ptRegisterClassEx
extrn LoadMenuA :ptLoadMenu
extrn CreateWindowExA :ptCreateWindowEx
extrn ShowWindow :ptShowWindow
extrn UpdateWindow :ptUpdateWindow
extrn GetMessageA :ptGetMessage
extrn TranslateMessage :ptTranslateMessage
extrn DispatchMessageA :ptDispatchMessage
extrn SetMenu :ptSetMenu
extrn PostQuitMessage :ptPostQuitMessage
extrn DefWindowProcA :ptDefWindowProc
extrn SendMessageA :ptSendMessage
extrn MessageBoxA :ptMessageBox
extrn ExitProcess :ptExitProcess
UDataSeg
hInst dd ?
hWnd dd ?
IFNDEF VER1
hMenu dd ?
ENDIF
DataSeg
msg msgStruc <>