''
''
'' winuser -- header translated with help of SWIG FB wrapper
''
'' NOTICE: This file is part of the FreeBASIC Compiler package and can't
''         be included in other distributions without authorization.
''
''
#ifndef __win_winuser_bi__
#define __win_winuser_bi__

#define WC_DIALOG MAKEINTATOM(&h8002)
#define FALT 16
#define FCONTROL 8
#define FNOINVERT 2
#define FSHIFT 4
#define FVIRTKEY 1
#define ATF_TIMEOUTON 1
#define ATF_ONOFFFEEDBACK 2
#define ATF_AVAILABLE 4
#define WH_MIN (-1)
#define WH_MSGFILTER (-1)
#define WH_JOURNALRECORD 0
#define WH_JOURNALPLAYBACK 1
#define WH_KEYBOARD 2
#define WH_GETMESSAGE 3
#define WH_CALLWNDPROC 4
#define WH_CBT 5
#define WH_SYSMSGFILTER 6
#define WH_MOUSE 7
#define WH_HARDWARE 8
#define WH_DEBUG 9
#define WH_SHELL 10
#define WH_FOREGROUNDIDLE 11
#define WH_CALLWNDPROCRET 12
#define WH_KEYBOARD_LL 13
#define WH_MOUSE_LL 14
#define WH_MAX 14
#define WH_MINHOOK (-1)
#define WH_MAXHOOK 14
#define HC_ACTION 0
#define HC_GETNEXT 1
#define HC_SKIP 2
#define HC_NOREMOVE 3
#define HC_NOREM 3
#define HC_SYSMODALON 4
#define HC_SYSMODALOFF 5
#define HCBT_MOVESIZE 0
#define HCBT_MINMAX 1
#define HCBT_QS 2
#define HCBT_CREATEWND 3
#define HCBT_DESTROYWND 4
#define HCBT_ACTIVATE 5
#define HCBT_CLICKSKIPPED 6
#define HCBT_KEYSKIPPED 7
#define HCBT_SYSCOMMAND 8
#define HCBT_SETFOCUS 9
#define CF_TEXT 1
#define CF_BITMAP 2
#define CF_METAFILEPICT 3
#define CF_SYLK 4
#define CF_DIF 5
#define CF_TIFF 6
#define CF_OEMTEXT 7
#define CF_DIB 8
#define CF_PALETTE 9
#define CF_PENDATA 10
#define CF_RIFF 11
#define CF_WAVE 12
#define CF_UNICODETEXT 13
#define CF_ENHMETAFILE 14
#define CF_HDROP 15
#define CF_LOCALE 16
#define CF_MAX 17
#define CF_OWNERDISPLAY 128
#define CF_DSPTEXT 129
#define CF_DSPBITMAP 130
#define CF_DSPMETAFILEPICT 131
#define CF_DSPENHMETAFILE 142
#define CF_PRIVATEFIRST 512
#define CF_PRIVATELAST 767
#define CF_GDIOBJFIRST 768
#define CF_GDIOBJLAST 1023
#define HKL_NEXT 1
#define HKL_PREV 0
#define KLF_ACTIVATE 1
#define KLF_SUBSTITUTE_OK 2
#define KLF_UNLOADPREVIOUS 4
#define KLF_REORDER 8
#define KLF_REPLACELANG 16
#define KLF_NOTELLSHELL 128
#define KLF_SETFORPROCESS 256
#define KL_NAMELENGTH 9
#define MF_ENABLED 0
#define MF_GRAYED 1
#define MF_DISABLED 2
#define MF_BITMAP 4
#define MF_CHECKED 8
#define MF_MENUBARBREAK 32
#define MF_MENUBREAK 64
#define MF_OWNERDRAW 256
#define MF_POPUP 16
#define MF_SEPARATOR &h800
#define MF_STRING 0
#define MF_UNCHECKED 0
#define MF_DEFAULT 4096
#define MF_SYSMENU &h2000
#define MF_HELP &h4000
#define MF_END 128
#define MF_RIGHTJUSTIFY &h4000
#define MF_MOUSESELECT &h8000
#define MF_INSERT 0
#define MF_CHANGE 128
#define MF_APPEND 256
#define MF_DELETE 512
#define MF_REMOVE 4096
#define MF_USECHECKBITMAPS 512
#define MF_UNHILITE 0
#define MF_HILITE 128
#define BSM_ALLCOMPONENTS 0
#define BSM_APPLICATIONS 8
#define BSM_ALLDESKTOPS 16
#define BSM_INSTALLABLEDRIVERS 4
#define BSM_NETDRIVER 2
#define BSM_VXDS 1
#define BSF_FLUSHDISK &h00000004
#define BSF_FORCEIFHUNG &h00000020
#define BSF_IGNORECURRENTTASK &h00000002
#define BSF_NOHANG &h00000008
#define BSF_NOTIMEOUTIFNOTHUNG &h00000040
#define BSF_POSTMESSAGE &h00000010
#define BSF_QUERY &h00000001
#define BSF_ALLOWSFW &h00000080
#define BSF_SENDNOTIFYMESSAGE &h00000100
#define BSF_LUID &h00000400
#define BSF_RETURNHDESK &h00000200
#define BROADCAST_QUERY_DENY 1112363332
#define ENUM_CURRENT_SETTINGS cuint(-1)
#define ENUM_REGISTRY_SETTINGS cuint(-2)
#define DM_BITSPERPEL &h40000
#define DM_PELSWIDTH &h80000
#define DM_PELSHEIGHT &h100000
#define DM_DISPLAYFLAGS &h200000
#define DM_DISPLAYFREQUENCY &h400000
#define CDS_UPDATEREGISTRY 1
#define CDS_TEST 2
#define CDS_FULLSCREEN 4
#define CDS_GLOBAL 8
#define CDS_SET_PRIMARY 16
#define CDS_RESET &h40000000
#define CDS_SETRECT &h20000000
#define CDS_NORESET &h10000000
#define DISP_CHANGE_SUCCESSFUL 0
#define DISP_CHANGE_RESTART 1
#define DISP_CHANGE_BADFLAGS (-4)
#define DISP_CHANGE_BADPARAM (-5)
#define DISP_CHANGE_FAILED (-1)
#define DISP_CHANGE_BADMODE (-2)
#define DISP_CHANGE_NOTUPDATED (-3)
#define BST_CHECKED 1
#define BST_INDETERMINATE 2
#define BST_UNCHECKED 0
#define BST_FOCUS 8
#define BST_PUSHED 4
#define MF_BYCOMMAND 0
#define MF_BYPOSITION 1024
#define MF_UNCHECKED 0
#define MF_HILITE 128
#define MF_UNHILITE 0
#define CWP_ALL 0
#define CWP_SKIPINVISIBLE 1
#define CWP_SKIPDISABLED 2
#define CWP_SKIPTRANSPARENT 4
#define IMAGE_BITMAP 0
#define IMAGE_ICON 1
#define IMAGE_CURSOR 2
#define IMAGE_ENHMETAFILE 3
#define DF_ALLOWOTHERACCOUNTHOOK 1
#define DESKTOP_CREATEMENU 4
#define DESKTOP_CREATEWINDOW 2
#define DESKTOP_ENUMERATE 64
#define DESKTOP_HOOKCONTROL 8
#define DESKTOP_JOURNALPLAYBACK 32
#define DESKTOP_JOURNALRECORD 16
#define DESKTOP_READOBJECTS 1
#define DESKTOP_SWITCHDESKTOP 256
#define DESKTOP_WRITEOBJECTS 128
#define CW_USEDEFAULT &h80000000
#define WS_BORDER &h800000
#define WS_CAPTION &hc00000
#define WS_CHILD &h40000000
#define WS_CHILDWINDOW &h40000000
#define WS_CLIPCHILDREN &h2000000
#define WS_CLIPSIBLINGS &h4000000
#define WS_DISABLED &h8000000
#define WS_DLGFRAME &h400000
#define WS_GROUP &h20000
#define WS_HSCROLL &h100000
#define WS_ICONIC &h20000000
#define WS_MAXIMIZE &h1000000
#define WS_MAXIMIZEBOX &h10000
#define WS_MINIMIZE &h20000000
#define WS_MINIMIZEBOX &h20000
#define WS_OVERLAPPED 0
#define WS_OVERLAPPEDWINDOW &hcf0000
#define WS_POPUP &h80000000
#define WS_POPUPWINDOW &h80880000
#define WS_SIZEBOX &h40000
#define WS_SYSMENU &h80000
#define WS_TABSTOP &h10000
#define WS_THICKFRAME &h40000
#define WS_TILED 0
#define WS_TILEDWINDOW &hcf0000
#define WS_VISIBLE &h10000000
#define WS_VSCROLL &h200000
#define MDIS_ALLCHILDSTYLES 1
#define BS_3STATE 5
#define BS_AUTO3STATE 6
#define BS_AUTOCHECKBOX 3
#define BS_AUTORADIOBUTTON 9
#define BS_BITMAP 128
#define BS_BOTTOM &h800
#define BS_CENTER &h300
#define BS_CHECKBOX 2
#define BS_DEFPUSHBUTTON 1
#define BS_GROUPBOX 7
#define BS_ICON 64
#define BS_LEFT 256
#define BS_LEFTTEXT 32
#define BS_MULTILINE &h2000
#define BS_NOTIFY &h4000
#define BS_OWNERDRAW &hb
#define BS_PUSHBUTTON 0
#define BS_PUSHLIKE 4096
#define BS_RADIOBUTTON 4
#define BS_RIGHT 512
#define BS_RIGHTBUTTON 32
#define BS_TEXT 0
#define BS_TOP &h400
#define BS_USERBUTTON 8
#define BS_VCENTER &hc00
#define BS_FLAT &h8000
#define CBS_AUTOHSCROLL 64
#define CBS_DISABLENOSCROLL &h800
#define CBS_DROPDOWN 2
#define CBS_DROPDOWNLIST 3
#define CBS_HASSTRINGS 512
#define CBS_LOWERCASE &h4000
#define CBS_NOINTEGRALHEIGHT &h400
#define CBS_OEMCONVERT 128
#define CBS_OWNERDRAWFIXED 16
#define CBS_OWNERDRAWVARIABLE 32
#define CBS_SIMPLE 1
#define CBS_SORT 256
#define CBS_UPPERCASE &h2000
#define ES_AUTOHSCROLL 128
#define ES_AUTOVSCROLL 64
#define ES_CENTER 1
#define ES_LEFT 0
#define ES_LOWERCASE 16
#define ES_MULTILINE 4
#define ES_NOHIDESEL 256
#define ES_NUMBER &h2000
#define ES_OEMCONVERT &h400
#define ES_PASSWORD 32
#define ES_READONLY &h800
#define ES_RIGHT 2
#define ES_UPPERCASE 8
#define ES_WANTRETURN 4096
#define LBS_DISABLENOSCROLL 4096
#define LBS_EXTENDEDSEL &h800
#define LBS_HASSTRINGS 64
#define LBS_MULTICOLUMN 512
#define LBS_MULTIPLESEL 8
#define LBS_NODATA &h2000
#define LBS_NOINTEGRALHEIGHT 256
#define LBS_NOREDRAW 4
#define LBS_NOSEL &h4000
#define LBS_NOTIFY 1
#define LBS_OWNERDRAWFIXED 16
#define LBS_OWNERDRAWVARIABLE 32
#define LBS_SORT 2
#define LBS_STANDARD &ha00003
#define LBS_USETABSTOPS 128
#define LBS_WANTKEYBOARDINPUT &h400
#define SBS_BOTTOMALIGN 4
#define SBS_HORZ 0
#define SBS_LEFTALIGN 2
#define SBS_RIGHTALIGN 4
#define SBS_SIZEBOX 8
#define SBS_SIZEBOXBOTTOMRIGHTALIGN 4
#define SBS_SIZEBOXTOPLEFTALIGN 2
#define SBS_SIZEGRIP 16
#define SBS_TOPALIGN 2
#define SBS_VERT 1
#define SS_BITMAP 14
#define SS_BLACKFRAME 7
#define SS_BLACKRECT 4
#define SS_CENTER 1
#define SS_CENTERIMAGE 512
#define SS_ENHMETAFILE 15
#define SS_ETCHEDFRAME 18
#define SS_ETCHEDHORZ 16
#define SS_ETCHEDVERT 17
#define SS_GRAYFRAME 8
#define SS_GRAYRECT 5
#define SS_ICON 3
#define SS_LEFT 0
#define SS_LEFTNOWORDWRAP &hc
#define SS_NOPREFIX 128
#define SS_NOTIFY 256
#define SS_OWNERDRAW &hd
#define SS_REALSIZEIMAGE &h800
#define SS_RIGHT 2
#define SS_RIGHTJUST &h400
#define SS_SIMPLE 11
#define SS_SUNKEN 4096
#define SS_WHITEFRAME 9
#define SS_WHITERECT 6
#define SS_USERITEM 10
#define SS_TYPEMASK &h0000001FL
#define SS_ENDELLIPSIS &h00004000L
#define SS_PATHELLIPSIS &h00008000L
#define SS_WORDELLIPSIS &h0000C000L
#define SS_ELLIPSISMASK &h0000C000L
#define DS_3DLOOK 4
#define DS_ABSALIGN 1
#define DS_CENTER &h800
#define DS_CENTERMOUSE 4096
#define DS_CONTEXTHELP &h2000
#define DS_CONTROL &h400
#define DS_FIXEDSYS 8
#define DS_LOCALEDIT 32
#define DS_MODALFRAME 128
#define DS_NOFAILCREATE 16
#define DS_NOIDLEMSG 256
#define DS_SETFONT 64
#define DS_SETFOREGROUND 512
#define DS_SYSMODAL 2
#define DS_SHELLFONT (64 or 8)
#define WS_EX_ACCEPTFILES 16
#define WS_EX_APPWINDOW &h40000
#define WS_EX_CLIENTEDGE 512
#define WS_EX_COMPOSITED &h2000000
#define WS_EX_CONTEXTHELP &h400
#define WS_EX_CONTROLPARENT &h10000
#define WS_EX_DLGMODALFRAME 1
#define WS_EX_LAYERED &h80000
#define WS_EX_LAYOUTRTL &h400000
#define WS_EX_LEFT 0
#define WS_EX_LEFTSCROLLBAR &h4000
#define WS_EX_LTRREADING 0
#define WS_EX_MDICHILD 64
#define WS_EX_NOACTIVATE &h8000000
#define WS_EX_NOINHERITLAYOUT &h100000
#define WS_EX_NOPARENTNOTIFY 4
#define WS_EX_OVERLAPPEDWINDOW &h300
#define WS_EX_PALETTEWINDOW &h188
#define WS_EX_RIGHT &h1000
#define WS_EX_RIGHTSCROLLBAR 0
#define WS_EX_RTLREADING &h2000
#define WS_EX_STATICEDGE &h20000
#define WS_EX_TOOLWINDOW 128
#define WS_EX_TOPMOST 8
#define WS_EX_TRANSPARENT 32
#define WS_EX_WINDOWEDGE 256
#define WINSTA_ACCESSCLIPBOARD 4
#define WINSTA_ACCESSGLOBALATOMS 32
#define WINSTA_CREATEDESKTOP 8
#define WINSTA_ENUMDESKTOPS 1
#define WINSTA_ENUMERATE 256
#define WINSTA_EXITWINDOWS 64
#define WINSTA_READATTRIBUTES 2
#define WINSTA_READSCREEN 512
#define WINSTA_WRITEATTRIBUTES 16
#define DDL_READWRITE 0
#define DDL_READONLY 1
#define DDL_HIDDEN 2
#define DDL_SYSTEM 4
#define DDL_DIRECTORY 16
#define DDL_ARCHIVE 32
#define DDL_POSTMSGS 8192
#define DDL_DRIVES 16384
#define DDL_EXCLUSIVE 32768
#define DC_ACTIVE &h00000001
#define DC_SMALLCAP &h00000002
#define DC_ICON &h00000004
#define DC_TEXT &h00000008
#define DC_INBUTTON &h00000010
#define DC_GRADIENT &h00000020
#define DC_BUTTONS &h00001000
#define DC_CAPTION (&h00000004 or &h00000008 or &h00001000)
#define BDR_RAISEDOUTER 1
#define BDR_SUNKENOUTER 2
#define BDR_RAISEDINNER 4
#define BDR_SUNKENINNER 8
#define BDR_OUTER 3
#define BDR_INNER &hc
#define BDR_RAISED 5
#define BDR_SUNKEN 10
#define EDGE_RAISED (1 or 4)
#define EDGE_SUNKEN (2 or 8)
#define EDGE_ETCHED (2 or 4)
#define EDGE_BUMP (1 or 8)
#define BF_LEFT 1
#define BF_TOP 2
#define BF_RIGHT 4
#define BF_BOTTOM 8
#define BF_TOPLEFT (2 or 1)
#define BF_TOPRIGHT (2 or 4)
#define BF_BOTTOMLEFT (8 or 1)
#define BF_BOTTOMRIGHT (8 or 4)
#define BF_RECT (1 or 2 or 4 or 8)
#define BF_DIAGONAL 16
#define BF_DIAGONAL_ENDTOPRIGHT (16 or 2 or 4)
#define BF_DIAGONAL_ENDTOPLEFT (16 or 2 or 1)
#define BF_DIAGONAL_ENDBOTTOMLEFT (16 or 8 or 1)
#define BF_DIAGONAL_ENDBOTTOMRIGHT (16 or 8 or 4)
#define BF_MIDDLE &h800
#define BF_SOFT &h1000
#define BF_ADJUST &h2000
#define BF_FLAT &h4000
#define BF_MONO &h8000
#define DFC_CAPTION 1
#define DFC_MENU 2
#define DFC_SCROLL 3
#define DFC_BUTTON 4
#define DFCS_CAPTIONCLOSE 0
#define DFCS_CAPTIONMIN 1
#define DFCS_CAPTIONMAX 2
#define DFCS_CAPTIONRESTORE 3
#define DFCS_CAPTIONHELP 4
#define DFCS_MENUARROW 0
#define DFCS_MENUCHECK 1
#define DFCS_MENUBULLET 2
#define DFCS_MENUARROWRIGHT 4
#define DFCS_SCROLLUP 0
#define DFCS_SCROLLDOWN 1
#define DFCS_SCROLLLEFT 2
#define DFCS_SCROLLRIGHT 3
#define DFCS_SCROLLCOMBOBOX 5
#define DFCS_SCROLLSIZEGRIP 8
#define DFCS_SCROLLSIZEGRIPRIGHT 16
#define DFCS_BUTTONCHECK 0
#define DFCS_BUTTONRADIOIMAGE 1
#define DFCS_BUTTONRADIOMASK 2
#define DFCS_BUTTONRADIO 4
#define DFCS_BUTTON3STATE 8
#define DFCS_BUTTONPUSH 16
#define DFCS_INACTIVE 256
#define DFCS_PUSHED 512
#define DFCS_CHECKED 1024
#define DFCS_TRANSPARENT &h800
#define DFCS_HOT &h1000
#define DFCS_ADJUSTRECT &h2000
#define DFCS_FLAT &h4000
#define DFCS_MONO &h8000
#define DST_COMPLEX 0
#define DST_TEXT 1
#define DST_PREFIXTEXT 2
#define DST_ICON 3
#define DST_BITMAP 4
#define DSS_NORMAL 0
#define DSS_UNION 16
#define DSS_DISABLED 32
#define DSS_MONO 128
#define DSS_RIGHT &h8000
#define DT_BOTTOM 8
#define DT_CALCRECT 1024
#define DT_CENTER 1
#define DT_EDITCONTROL 8192
#define DT_END_ELLIPSIS 32768
#define DT_PATH_ELLIPSIS 16384
#define DT_WORD_ELLIPSIS &h40000
#define DT_EXPANDTABS 64
#define DT_EXTERNALLEADING 512
#define DT_LEFT 0
#define DT_MODIFYSTRING 65536
#define DT_NOCLIP 256
#define DT_NOPREFIX 2048
#define DT_RIGHT 2
#define DT_RTLREADING 131072
#define DT_SINGLELINE 32
#define DT_TABSTOP 128
#define DT_TOP 0
#define DT_VCENTER 4
#define DT_WORDBREAK 16
#define DT_INTERNAL 4096
#define WB_ISDELIMITER 2
#define WB_LEFT 0
#define WB_RIGHT 1
#define SB_HORZ 0
#define SB_VERT 1
#define SB_CTL 2
#define SB_BOTH 3
#define ESB_DISABLE_BOTH 3
#define ESB_DISABLE_DOWN 2
#define ESB_DISABLE_LEFT 1
#define ESB_DISABLE_LTUP 1
#define ESB_DISABLE_RIGHT 2
#define ESB_DISABLE_RTDN 2
#define ESB_DISABLE_UP 1
#define ESB_ENABLE_BOTH 0
#define SB_LINEUP 0
#define SB_LINEDOWN 1
#define SB_LINELEFT 0
#define SB_LINERIGHT 1
#define SB_PAGEUP 2
#define SB_PAGEDOWN 3
#define SB_PAGELEFT 2
#define SB_PAGERIGHT 3
#define SB_THUMBPOSITION 4
#define SB_THUMBTRACK 5
#define SB_ENDSCROLL 8
#define SB_LEFT 6
#define SB_RIGHT 7
#define SB_BOTTOM 7
#define SB_TOP 6
#define MAKEINTRESOURCEA(i) cptr(LPSTR, cuint(i))
#define MAKEINTRESOURCEW(i) cptr(LPWSTR, cuint(i))
#define RT_CURSOR MAKEINTRESOURCE(1)
#define RT_FONT MAKEINTRESOURCE(8)
#define RT_BITMAP MAKEINTRESOURCE(2)
#define RT_ICON MAKEINTRESOURCE(3)
#define RT_MENU MAKEINTRESOURCE(4)
#define RT_DIALOG MAKEINTRESOURCE(5)
#define RT_STRING MAKEINTRESOURCE(6)
#define RT_FONTDIR MAKEINTRESOURCE(7)
#define RT_ACCELERATOR MAKEINTRESOURCE(9)
#define RT_RCDATA MAKEINTRESOURCE(10)
#define RT_MESSAGETABLE MAKEINTRESOURCE(11)
#define DIFFERENCE 11
#define RT_GROUP_CURSOR MAKEINTRESOURCE(cuint(RT_CURSOR)+DIFFERENCE)
#define RT_GROUP_ICON MAKEINTRESOURCE(cuint(RT_ICON)+DIFFERENCE)
#define RT_VERSION MAKEINTRESOURCE(16)
#define RT_DLGINCLUDE MAKEINTRESOURCE(17)
#define RT_PLUGPLAY MAKEINTRESOURCE(19)
#define RT_VXD MAKEINTRESOURCE(20)
#define RT_ANICURSOR MAKEINTRESOURCE(21)
#define RT_ANIICON MAKEINTRESOURCE(22)
#define RT_HTML MAKEINTRESOURCE(23)
#define EWX_FORCE 4
#define EWX_LOGOFF 0
#define EWX_POWEROFF 8
#define EWX_REBOOT 2
#define EWX_SHUTDOWN 1
#define EWX_FORCEIFHUNG 16
#define CS_BYTEALIGNCLIENT 4096
#define CS_BYTEALIGNWINDOW 8192
#define CS_KEYCVTWINDOW 4
#define CS_NOKEYCVT 256
#define CS_CLASSDC 64
#define CS_DBLCLKS 8
#define CS_GLOBALCLASS 16384
#define CS_HREDRAW 2
#define CS_NOCLOSE 512
#define CS_OWNDC 32
#define CS_PARENTDC 128
#define CS_SAVEBITS 2048
#define CS_VREDRAW 1
#define CS_IME &h10000
#define GCW_ATOM (-32)
#define GCL_CBCLSEXTRA (-20)
#define GCL_CBWNDEXTRA (-18)
#define GCL_HBRBACKGROUND (-10)
#define GCL_HCURSOR (-12)
#define GCL_HICON (-14)
#define GCL_HICONSM (-34)
#define GCL_HMODULE (-16)
#define GCL_MENUNAME (-8)
#define GCL_STYLE (-26)
#define GCL_WNDPROC (-24)
#define IDC_ARROW MAKEINTRESOURCE(32512)
#define IDC_IBEAM MAKEINTRESOURCE(32513)
#define IDC_WAIT MAKEINTRESOURCE(32514)
#define IDC_CROSS MAKEINTRESOURCE(32515)
#define IDC_UPARROW MAKEINTRESOURCE(32516)
#define IDC_SIZENWSE MAKEINTRESOURCE(32642)
#define IDC_SIZENESW MAKEINTRESOURCE(32643)
#define IDC_SIZEWE MAKEINTRESOURCE(32644)
#define IDC_SIZENS MAKEINTRESOURCE(32645)
#define IDC_SIZEALL MAKEINTRESOURCE(32646)
#define IDC_NO MAKEINTRESOURCE(32648)
#define IDC_HAND MAKEINTRESOURCE(32649)
#define IDC_APPSTARTING MAKEINTRESOURCE(32650)
#define IDC_HELP MAKEINTRESOURCE(32651)
#define IDC_ICON MAKEINTRESOURCE(32641)
#define IDC_SIZE MAKEINTRESOURCE(32640)
#define IDI_APPLICATION MAKEINTRESOURCE(32512)
#define IDI_HAND MAKEINTRESOURCE(32513)
#define IDI_QUESTION MAKEINTRESOURCE(32514)
#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
#define IDI_ASTERISK MAKEINTRESOURCE(32516)
#define IDI_WINLOGO MAKEINTRESOURCE(32517)
#define MIIM_STATE 1
#define MIIM_ID 2
#define MIIM_SUBMENU 4
#define MIIM_CHECKMARKS 8
#define MIIM_TYPE 16
#define MIIM_DATA 32
#define MIIM_STRING 64
#define MIIM_BITMAP 128
#define MIIM_FTYPE 256
#define MFT_BITMAP 4
#define MFT_MENUBARBREAK 32
#define MFT_MENUBREAK 64
#define MFT_OWNERDRAW 256
#define MFT_RADIOCHECK 512
#define MFT_RIGHTJUSTIFY &h4000
#define MFT_SEPARATOR &h800
#define MFT_RIGHTORDER &h2000L
#define MFT_STRING 0
#define MFS_CHECKED 8
#define MFS_DEFAULT 4096
#define MFS_DISABLED 3
#define MFS_ENABLED 0
#define MFS_GRAYED 3
#define MFS_HILITE 128
#define MFS_UNCHECKED 0
#define MFS_UNHILITE 0
#define GW_HWNDNEXT 2
#define GW_HWNDPREV 3
#define GW_CHILD 5
#define GW_HWNDFIRST 0
#define GW_HWNDLAST 1
#define GW_OWNER 4
#define SW_HIDE 0
#define SW_NORMAL 1
#define SW_SHOWNORMAL 1
#define SW_SHOWMINIMIZED 2
#define SW_MAXIMIZE 3
#define SW_SHOWMAXIMIZED 3
#define SW_SHOWNOACTIVATE 4
#define SW_SHOW 5
#define SW_MINIMIZE 6
#define SW_SHOWMINNOACTIVE 7
#define SW_SHOWNA 8
#define SW_RESTORE 9
#define SW_SHOWDEFAULT 10
#define SW_FORCEMINIMIZE 11
#define SW_MAX 11
#define MB_USERICON 128
#define MB_ICONASTERISK 64
#define MB_ICONEXCLAMATION &h30
#define MB_ICONWARNING &h30
#define MB_ICONERROR 16
#define MB_ICONHAND 16
#define MB_ICONQUESTION 32
#define MB_OK 0
#define MB_ABORTRETRYIGNORE 2
#define MB_APPLMODAL 0
#define MB_DEFAULT_DESKTOP_ONLY &h20000
#define MB_HELP &h4000
#define MB_RIGHT &h80000
#define MB_RTLREADING &h100000
#define MB_TOPMOST &h40000
#define MB_DEFBUTTON1 0
#define MB_DEFBUTTON2 256
#define MB_DEFBUTTON3 512
#define MB_DEFBUTTON4 &h300
#define MB_ICONINFORMATION 64
#define MB_ICONSTOP 16
#define MB_OKCANCEL 1
#define MB_RETRYCANCEL 5
#define MB_SERVICE_NOTIFICATION &h00200000
#define MB_SERVICE_NOTIFICATION_NT3X &h00040000
#define MB_SETFOREGROUND &h10000
#define MB_SYSTEMMODAL 4096
#define MB_TASKMODAL &h2000
#define MB_YESNO 4
#define MB_YESNOCANCEL 3
#define MB_ICONMASK 240
#define MB_DEFMASK 3840
#define MB_MODEMASK &h00003000
#define MB_MISCMASK &h0000C000
#define MB_NOFOCUS &h00008000
#define MB_TYPEMASK 15
#define MB_TOPMOST &h40000
#define IDOK 1
#define IDCANCEL 2
#define IDABORT 3
#define IDRETRY 4
#define IDIGNORE 5
#define IDYES 6
#define IDNO 7
#define IDCLOSE 8
#define IDHELP 9
#define GWL_EXSTYLE (-20)
#define GWL_STYLE (-16)
#define GWL_WNDPROC (-4)
#define GWLP_WNDPROC (-4)
#define GWL_HINSTANCE (-6)
#define GWLP_HINSTANCE (-6)
#define GWL_HWNDPARENT (-8)
#define GWLP_HWNDPARENT (-8)
#define GWL_ID (-12)
#define GWLP_ID (-12)
#define GWL_USERDATA (-21)
#define GWLP_USERDATA (-21)
#define DWL_DLGPROC 4
#define DWLP_DLGPROC 4
#define DWL_MSGRESULT 0
#define DWLP_MSGRESULT 0
#define DWL_USER 8
#define DWLP_USER 8
#define QS_ALLEVENTS 1215
#define QS_ALLINPUT 1279
#define QS_ALLPOSTMESSAGE 256
#define QS_HOTKEY 128
#define QS_INPUT 1031
#define QS_KEY 1
#define QS_MOUSE 6
#define QS_MOUSEBUTTON 4
#define QS_MOUSEMOVE 2
#define QS_PAINT 32
#define QS_POSTMESSAGE 8
#define QS_RAWINPUT 1024
#define QS_SENDMESSAGE 64
#define QS_TIMER 16
#define MWMO_WAITALL 1
#define MWMO_ALERTABLE 2
#define MWMO_INPUTAVAILABLE 4
#define COLOR_3DDKSHADOW 21
#define COLOR_3DFACE 15
#define COLOR_3DHILIGHT 20
#define COLOR_3DHIGHLIGHT 20
#define COLOR_3DLIGHT 22
#define COLOR_BTNHILIGHT 20
#define COLOR_3DSHADOW 16
#define COLOR_ACTIVEBORDER 10
#define COLOR_ACTIVECAPTION 2
#define COLOR_APPWORKSPACE 12
#define COLOR_BACKGROUND 1
#define COLOR_DESKTOP 1
#define COLOR_BTNFACE 15
#define COLOR_BTNHIGHLIGHT 20
#define COLOR_BTNSHADOW 16
#define COLOR_BTNTEXT 18
#define COLOR_CAPTIONTEXT 9
#define COLOR_GRAYTEXT 17
#define COLOR_HIGHLIGHT 13
#define COLOR_HIGHLIGHTTEXT 14
#define COLOR_INACTIVEBORDER 11
#define COLOR_INACTIVECAPTION 3
#define COLOR_INACTIVECAPTIONTEXT 19
#define COLOR_INFOBK 24
#define COLOR_INFOTEXT 23
#define COLOR_MENU 4
#define COLOR_MENUTEXT 7
#define COLOR_SCROLLBAR 0
#define COLOR_WINDOW 5
#define COLOR_WINDOWFRAME 6
#define COLOR_WINDOWTEXT 8
#define COLOR_HOTLIGHT 26
#define COLOR_GRADIENTACTIVECAPTION 27
#define COLOR_GRADIENTINACTIVECAPTION 28
#define CTLCOLOR_MSGBOX 0
#define CTLCOLOR_EDIT 1
#define CTLCOLOR_LISTBOX 2
#define CTLCOLOR_BTN 3
#define CTLCOLOR_DLG 4
#define CTLCOLOR_SCROLLBAR 5
#define CTLCOLOR_STATIC 6
#define CTLCOLOR_MAX 7
#define SM_CXSCREEN 0
#define SM_CYSCREEN 1
#define SM_CXVSCROLL 2
#define SM_CYHSCROLL 3
#define SM_CYCAPTION 4
#define SM_CXBORDER 5
#define SM_CYBORDER 6
#define SM_CXDLGFRAME 7
#define SM_CXFIXEDFRAME 7
#define SM_CYDLGFRAME 8
#define SM_CYFIXEDFRAME 8
#define SM_CYVTHUMB 9
#define SM_CXHTHUMB 10
#define SM_CXICON 11
#define SM_CYICON 12
#define SM_CXCURSOR 13
#define SM_CYCURSOR 14
#define SM_CYMENU 15
#define SM_CXFULLSCREEN 16
#define SM_CYFULLSCREEN 17
#define SM_CYKANJIWINDOW 18
#define SM_MOUSEPRESENT 19
#define SM_CYVSCROLL 20
#define SM_CXHSCROLL 21
#define SM_DEBUG 22
#define SM_SWAPBUTTON 23
#define SM_RESERVED1 24
#define SM_RESERVED2 25
#define SM_RESERVED3 26
#define SM_RESERVED4 27
#define SM_CXMIN 28
#define SM_CYMIN 29
#define SM_CXSIZE 30
#define SM_CYSIZE 31
#define SM_CXSIZEFRAME 32
#define SM_CXFRAME 32
#define SM_CYSIZEFRAME 33
#define SM_CYFRAME 33
#define SM_CXMINTRACK 34
#define SM_CYMINTRACK 35
#define SM_CXDOUBLECLK 36
#define SM_CYDOUBLECLK 37
#define SM_CXICONSPACING 38
#define SM_CYICONSPACING 39
#define SM_MENUDROPALIGNMENT 40
#define SM_PENWINDOWS 41
#define SM_DBCSENABLED 42
#define SM_CMOUSEBUTTONS 43
#define SM_SECURE 44
#define SM_CXEDGE 45
#define SM_CYEDGE 46
#define SM_CXMINSPACING 47
#define SM_CYMINSPACING 48
#define SM_CXSMICON 49
#define SM_CYSMICON 50
#define SM_CYSMCAPTION 51
#define SM_CXSMSIZE 52
#define SM_CYSMSIZE 53
#define SM_CXMENUSIZE 54
#define SM_CYMENUSIZE 55
#define SM_ARRANGE 56
#define SM_CXMINIMIZED 57
#define SM_CYMINIMIZED 58
#define SM_CXMAXTRACK 59
#define SM_CYMAXTRACK 60
#define SM_CXMAXIMIZED 61
#define SM_CYMAXIMIZED 62
#define SM_NETWORK 63
#define LR_DEFAULTSIZE 64
#define SM_CLEANBOOT 67
#define SM_CXDRAG 68
#define SM_CYDRAG 69
#define SM_SHOWSOUNDS 70
#define SM_CXMENUCHECK 71
#define SM_CYMENUCHECK 72
#define SM_SLOWMACHINE 73
#define SM_MIDEASTENABLED 74
#define SM_MOUSEWHEELPRESENT 75
#define SM_XVIRTUALSCREEN 76
#define SM_YVIRTUALSCREEN 77
#define SM_CXVIRTUALSCREEN 78
#define SM_CYVIRTUALSCREEN 79
#define SM_CMONITORS 80
#define SM_SAMEDISPLAYFORMAT 81
#define SM_IMMENABLED 82
#define SM_CXFOCUSBORDER 83
#define SM_CYFOCUSBORDER 84
#define SM_TABLETPC 86
#define SM_MEDIACENTER 87
#define SM_CMETRICS 88
#define SM_REMOTESESSION &h1000
#define ARW_BOTTOMLEFT 0
#define ARW_BOTTOMRIGHT 1
#define ARW_HIDE 8
#define ARW_TOPLEFT 2
#define ARW_TOPRIGHT 3
#define ARW_DOWN 4
#define ARW_LEFT 0
#define ARW_RIGHT 0
#define ARW_UP 4
#define UOI_FLAGS 1
#define UOI_NAME 2
#define UOI_TYPE 3
#define UOI_USER_SID 4
#define LR_DEFAULTCOLOR 0
#define LR_MONOCHROME 1
#define LR_COLOR 2
#define LR_COPYRETURNORG 4
#define LR_COPYDELETEORG 8
#define LR_LOADFROMFILE 16
#define LR_LOADTRANSPARENT 32
#define LR_LOADREALSIZE 128
#define LR_LOADMAP3DCOLORS 4096
#define LR_CREATEDIBSECTION 8192
#define LR_COPYFROMRESOURCE &h4000
#define LR_SHARED 32768
#define KEYEVENTF_EXTENDEDKEY &h00000001
#define KEYEVENTF_KEYUP 00000002
#define KEYEVENTF_UNICODE &h00000004
#define KEYEVENTF_SCANCODE &h00000008
#define OBM_BTNCORNERS 32758
#define OBM_BTSIZE 32761
#define OBM_CHECK 32760
#define OBM_CHECKBOXES 32759
#define OBM_CLOSE 32754
#define OBM_COMBO 32738
#define OBM_DNARROW 32752
#define OBM_DNARROWD 32742
#define OBM_DNARROWI 32736
#define OBM_LFARROW 32750
#define OBM_LFARROWI 32734
#define OBM_LFARROWD 32740
#define OBM_MNARROW 32739
#define OBM_OLD_CLOSE 32767
#define OBM_OLD_DNARROW 32764
#define OBM_OLD_LFARROW 32762
#define OBM_OLD_REDUCE 32757
#define OBM_OLD_RESTORE 32755
#define OBM_OLD_RGARROW 32763
#define OBM_OLD_UPARROW 32765
#define OBM_OLD_ZOOM 32756
#define OBM_REDUCE 32749
#define OBM_REDUCED 32746
#define OBM_RESTORE 32747
#define OBM_RESTORED 32744
#define OBM_RGARROW 32751
#define OBM_RGARROWD 32741
#define OBM_RGARROWI 32735
#define OBM_SIZE 32766
#define OBM_UPARROW 32753
#define OBM_UPARROWD 32743
#define OBM_UPARROWI 32737
#define OBM_ZOOM 32748
#define OBM_ZOOMD 32745
#define OCR_NORMAL 32512
#define OCR_IBEAM 32513
#define OCR_WAIT 32514
#define OCR_CROSS 32515
#define OCR_UP 32516
#define OCR_SIZE 32640
#define OCR_ICON 32641
#define OCR_SIZENWSE 32642
#define OCR_SIZENESW 32643
#define OCR_SIZEWE 32644
#define OCR_SIZENS 32645
#define OCR_SIZEALL 32646
#define OCR_NO 32648
#define OCR_APPSTARTING 32650
#define OIC_SAMPLE 32512
#define OIC_HAND 32513
#define OIC_QUES 32514
#define OIC_BANG 32515
#define OIC_NOTE 32516
#define OIC_WINLOGO 32517
#define OIC_WARNING 32515
#define OIC_ERROR 32513
#define OIC_INFORMATION 32516
#define HELPINFO_MENUITEM 2
#define HELPINFO_WINDOW 1
#define MSGF_DIALOGBOX 0
#define MSGF_MESSAGEBOX 1
#define MSGF_MENU 2
#define MSGF_MOVE 3
#define MSGF_SIZE 4
#define MSGF_SCROLLBAR 5
#define MSGF_NEXTWINDOW 6
#define MSGF_MAINLOOP 8
#define MSGF_USER 4096
#define MOUSEEVENTF_MOVE 1
#define MOUSEEVENTF_LEFTDOWN 2
#define MOUSEEVENTF_LEFTUP 4
#define MOUSEEVENTF_RIGHTDOWN 8
#define MOUSEEVENTF_RIGHTUP 16
#define MOUSEEVENTF_MIDDLEDOWN 32
#define MOUSEEVENTF_MIDDLEUP 64
#define MOUSEEVENTF_WHEEL &h0800
#define MOUSEEVENTF_ABSOLUTE 32768
#define PM_NOREMOVE 0
#define PM_REMOVE 1
#define PM_NOYIELD 2
#define PM_QS_INPUT (QS_INPUT shl 16)
#define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE or QS_HOTKEY or QS_TIMER) shl 16)
#define PM_QS_PAINT (QS_PAINT shl 16)
#define PM_QS_SENDMESSAGE (QS_SENDMESSAGE shl 16)
#define HWND_BROADCAST  cptr(HWND, &hffff)
#define HWND_BOTTOM cptr(HWND, 1)
#define HWND_NOTOPMOST cptr(HWND, -2)
#define HWND_TOP cptr(HWND, 0)
#define HWND_TOPMOST cptr(HWND, -1)
#define HWND_DESKTOP cptr(HWND, 0)
#define HWND_MESSAGE cptr(HWND, -3)
#define RDW_ERASE 4
#define RDW_FRAME 1024
#define RDW_INTERNALPAINT 2
#define RDW_INVALIDATE 1
#define RDW_NOERASE 32
#define RDW_NOFRAME 2048
#define RDW_NOINTERNALPAINT 16
#define RDW_VALIDATE 8
#define RDW_ERASENOW 512
#define RDW_UPDATENOW 256
#define RDW_ALLCHILDREN 128
#define RDW_NOCHILDREN 64
#define SMTO_ABORTIFHUNG 2
#define SMTO_BLOCK 1
#define SMTO_NORMAL 0
#define SIF_ALL 23
#define SIF_PAGE 2
#define SIF_POS 4
#define SIF_RANGE 1
#define SIF_DISABLENOSCROLL 8
#define SIF_TRACKPOS 16
#define SWP_DRAWFRAME 32
#define SWP_FRAMECHANGED 32
#define SWP_HIDEWINDOW 128
#define SWP_NOACTIVATE 16
#define SWP_NOCOPYBITS 256
#define SWP_NOMOVE 2
#define SWP_NOSIZE 1
#define SWP_NOREDRAW 8
#define SWP_NOZORDER 4
#define SWP_SHOWWINDOW 64
#define SWP_NOOWNERZORDER 512
#define SWP_NOREPOSITION 512
#define SWP_NOSENDCHANGING 1024
#define SWP_DEFERERASE 8192
#define SWP_ASYNCWINDOWPOS 16384
#define HSHELL_ACTIVATESHELLWINDOW 3
#define HSHELL_GETMINRECT 5
#define HSHELL_LANGUAGE 8
#define HSHELL_REDRAW 6
#define HSHELL_TASKMAN 7
#define HSHELL_WINDOWACTIVATED 4
#define HSHELL_WINDOWCREATED 1
#define HSHELL_WINDOWDESTROYED 2
#define HSHELL_RUDEAPPACTIVATED 32772
#define HSHELL_FLASH 32774
#define SPI_GETACCESSTIMEOUT 60
#define SPI_GETACTIVEWINDOWTRACKING 4096
#define SPI_GETACTIVEWNDTRKTIMEOUT 8194
#define SPI_GETACTIVEWNDTRKZORDER 4108
#define SPI_GETANIMATION 72
#define SPI_GETBEEP 1
#define SPI_GETBORDER 5
#define SPI_GETDEFAULTINPUTLANG 89
#define SPI_GETDRAGFULLWINDOWS 38
#define SPI_GETFASTTASKSWITCH 35
#define SPI_GETFILTERKEYS 50
#define SPI_GETFONTSMOOTHING 74
#define SPI_GETGRIDGRANULARITY 18
#define SPI_GETHIGHCONTRAST 66
#define SPI_GETICONMETRICS 45
#define SPI_GETICONTITLELOGFONT 31
#define SPI_GETICONTITLEWRAP 25
#define SPI_GETKEYBOARDDELAY 22
#define SPI_GETKEYBOARDPREF 68
#define SPI_GETKEYBOARDSPEED 10
#define SPI_GETLOWPOWERACTIVE 83
#define SPI_GETLOWPOWERTIMEOUT 79
#define SPI_GETMENUDROPALIGNMENT 27
#define SPI_GETMINIMIZEDMETRICS 43
#define SPI_GETMOUSE 3
#define SPI_GETMOUSEKEYS 54
#define SPI_GETMOUSETRAILS 94
#define SPI_GETNONCLIENTMETRICS 41
#define SPI_GETPOWEROFFACTIVE 84
#define SPI_GETPOWEROFFTIMEOUT 80
#define SPI_GETSCREENREADER 70
#define SPI_GETSCREENSAVEACTIVE 16
#define SPI_GETSCREENSAVETIMEOUT 14
#define SPI_GETSERIALKEYS 62
#define SPI_GETSHOWSOUNDS 56
#define SPI_GETSOUNDSENTRY 64
#define SPI_GETSTICKYKEYS 58
#define SPI_GETTOGGLEKEYS 52
#define SPI_GETWHEELSCROLLLINES 104
#define SPI_GETWINDOWSEXTENSION 92
#define SPI_GETWORKAREA 48
#define SPI_ICONHORIZONTALSPACING 13
#define SPI_ICONVERTICALSPACING 24
#define SPI_LANGDRIVER 12
#define SPI_SCREENSAVERRUNNING 97
#define SPI_SETACCESSTIMEOUT 61
#define SPI_SETACTIVEWINDOWTRACKING 4097
#define SPI_SETACTIVEWNDTRKTIMEOUT 8195
#define SPI_SETACTIVEWNDTRKZORDER 4109
#define SPI_SETANIMATION 73
#define SPI_SETBEEP 2
#define SPI_SETBORDER 6
#define SPI_SETDEFAULTINPUTLANG 90
#define SPI_SETDESKPATTERN 21
#define SPI_SETDESKWALLPAPER 20
#define SPI_SETDOUBLECLICKTIME 32
#define SPI_SETDOUBLECLKHEIGHT 30
#define SPI_SETDOUBLECLKWIDTH 29
#define SPI_SETDRAGFULLWINDOWS 37
#define SPI_SETDRAGHEIGHT 77
#define SPI_SETDRAGWIDTH 76
#define SPI_SETFASTTASKSWITCH 36
#define SPI_SETFILTERKEYS 51
#define SPI_SETFONTSMOOTHING 75
#define SPI_SETGRIDGRANULARITY 19
#define SPI_SETHANDHELD 78
#define SPI_SETHIGHCONTRAST 67
#define SPI_SETICONMETRICS 46
#define SPI_SETICONTITLELOGFONT 34
#define SPI_SETICONTITLEWRAP 26
#define SPI_SETKEYBOARDDELAY 23
#define SPI_SETKEYBOARDPREF 69
#define SPI_SETKEYBOARDSPEED 11
#define SPI_SETLANGTOGGLE 91
#define SPI_SETLOWPOWERACTIVE 85
#define SPI_SETLOWPOWERTIMEOUT 81
#define SPI_SETMENUDROPALIGNMENT 28
#define SPI_SETMINIMIZEDMETRICS 44
#define SPI_SETMOUSE 4
#define SPI_SETMOUSEBUTTONSWAP 33
#define SPI_SETMOUSEKEYS 55
#define SPI_SETMOUSETRAILS 93
#define SPI_SETNONCLIENTMETRICS 42
#define SPI_SETPENWINDOWS 49
#define SPI_SETPOWEROFFACTIVE 86
#define SPI_SETPOWEROFFTIMEOUT 82
#define SPI_SETSCREENREADER 71
#define SPI_SETSCREENSAVEACTIVE 17
#define SPI_SETSCREENSAVERRUNNING 97
#define SPI_SETSCREENSAVETIMEOUT 15
#define SPI_SETSERIALKEYS 63
#define SPI_SETSHOWSOUNDS 57
#define SPI_SETSOUNDSENTRY 65
#define SPI_SETSTICKYKEYS 59
#define SPI_SETTOGGLEKEYS 53
#define SPI_SETWHEELSCROLLLINES 105
#define SPI_SETWORKAREA 47
#define SPIF_UPDATEINIFILE 1
#define SPIF_SENDWININICHANGE 2
#define SPIF_SENDCHANGE 2
#define ATF_ONOFFFEEDBACK 2
#define ATF_TIMEOUTON 1
#define WM_APP 32768
#define WM_ACTIVATE 6
#define WM_ACTIVATEAPP 28
#define WM_AFXFIRST 864
#define WM_AFXLAST 895
#define WM_ASKCBFORMATNAME 780
#define WM_CANCELJOURNAL 75
#define WM_CANCELMODE 31
#define WM_CAPTURECHANGED 533
#define WM_CHANGECBCHAIN 781
#define WM_CHAR 258
#define WM_CHARTOITEM 47
#define WM_CHILDACTIVATE 34
#define WM_CLEAR 771
#define WM_CLOSE 16
#define WM_COMMAND 273
#define WM_COMMNOTIFY 68
#define WM_COMPACTING 65
#define WM_COMPAREITEM 57
#define WM_CONTEXTMENU 123
#define WM_COPY 769
#define WM_COPYDATA 74
#define WM_CREATE 1
#define WM_CTLCOLORBTN 309
#define WM_CTLCOLORDLG 310
#define WM_CTLCOLOREDIT 307
#define WM_CTLCOLORLISTBOX 308
#define WM_CTLCOLORMSGBOX 306
#define WM_CTLCOLORSCROLLBAR 311
#define WM_CTLCOLORSTATIC 312
#define WM_CUT 768
#define WM_DEADCHAR 259
#define WM_DELETEITEM 45
#define WM_DESTROY 2
#define WM_DESTROYCLIPBOARD 775
#define WM_DEVICECHANGE 537
#define WM_DEVMODECHANGE 27
#define WM_DISPLAYCHANGE 126
#define WM_DRAWCLIPBOARD 776
#define WM_DRAWITEM 43
#define WM_DROPFILES 563
#define WM_ENABLE 10
#define WM_ENDSESSION 22
#define WM_ENTERIDLE 289
#define WM_ENTERMENULOOP 529
#define WM_ENTERSIZEMOVE 561
#define WM_ERASEBKGND 20
#define WM_EXITMENULOOP 530
#define WM_EXITSIZEMOVE 562
#define WM_FONTCHANGE 29
#define WM_GETDLGCODE 135
#define WM_GETFONT 49
#define WM_GETHOTKEY 51
#define WM_GETICON 127
#define WM_GETMINMAXINFO 36
#define WM_GETTEXT 13
#define WM_GETTEXTLENGTH 14
#define WM_HANDHELDFIRST 856
#define WM_HANDHELDLAST 863
#define WM_HELP 83
#define WM_HOTKEY 786
#define WM_HSCROLL 276
#define WM_HSCROLLCLIPBOARD 782
#define WM_ICONERASEBKGND 39
#define WM_INITDIALOG 272
#define WM_INITMENU 278
#define WM_INITMENUPOPUP 279
#define WM_INPUTLANGCHANGE 81
#define WM_INPUTLANGCHANGEREQUEST 80
#define WM_KEYDOWN 256
#define WM_KEYUP 257
#define WM_KILLFOCUS 8
#define WM_MDIACTIVATE 546
#define WM_MDICASCADE 551
#define WM_MDICREATE 544
#define WM_MDIDESTROY 545
#define WM_MDIGETACTIVE 553
#define WM_MDIICONARRANGE 552
#define WM_MDIMAXIMIZE 549
#define WM_MDINEXT 548
#define WM_MDIREFRESHMENU 564
#define WM_MDIRESTORE 547
#define WM_MDISETMENU 560
#define WM_MDITILE 550
#define WM_MEASUREITEM 44
#define WM_MENUCHAR 288
#define WM_MENUSELECT 287
#define WM_NEXTMENU 531
#define WM_MOVE 3
#define WM_MOVING 534
#define WM_NCACTIVATE 134
#define WM_NCCALCSIZE 131
#define WM_NCCREATE 129
#define WM_NCDESTROY 130
#define WM_NCHITTEST 132
#define WM_NCLBUTTONDBLCLK 163
#define WM_NCLBUTTONDOWN 161
#define WM_NCLBUTTONUP 162
#define WM_NCMBUTTONDBLCLK 169
#define WM_NCMBUTTONDOWN 167
#define WM_NCMBUTTONUP 168
#define WM_NCXBUTTONDOWN 171
#define WM_NCXBUTTONUP 172
#define WM_NCXBUTTONDBLCLK 173
#define WM_NCMOUSEHOVER &h02A0
#define WM_NCMOUSELEAVE &h02A2
#define WM_NCMOUSEMOVE 160
#define WM_NCPAINT 133
#define WM_NCRBUTTONDBLCLK 166
#define WM_NCRBUTTONDOWN 164
#define WM_NCRBUTTONUP 165
#define WM_NEXTDLGCTL 40
#define WM_NEXTMENU 531
#define WM_NOTIFY 78
#define WM_NOTIFYFORMAT 85
#define WM_NULL 0
#define WM_PAINT 15
#define WM_PAINTCLIPBOARD 777
#define WM_PAINTICON 38
#define WM_PALETTECHANGED 785
#define WM_PALETTEISCHANGING 784
#define WM_PARENTNOTIFY 528
#define WM_PASTE 770
#define WM_PENWINFIRST 896
#define WM_PENWINLAST 911
#define WM_POWER 72
#define WM_POWERBROADCAST 536
#define WM_PRINT 791
#define WM_PRINTCLIENT 792
#define WM_QUERYDRAGICON 55
#define WM_QUERYENDSESSION 17
#define WM_QUERYNEWPALETTE 783
#define WM_QUERYOPEN 19
#define WM_QUEUESYNC 35
#define WM_QUIT 18
#define WM_RENDERALLFORMATS 774
#define WM_RENDERFORMAT 773
#define WM_SETCURSOR 32
#define WM_SETFOCUS 7
#define WM_SETFONT 48
#define WM_SETHOTKEY 50
#define WM_SETICON 128
#define WM_SETREDRAW 11
#define WM_SETTEXT 12
#define WM_SETTINGCHANGE 26
#define WM_SHOWWINDOW 24
#define WM_SIZE 5
#define WM_SIZECLIPBOARD 779
#define WM_SIZING 532
#define WM_SPOOLERSTATUS 42
#define WM_STYLECHANGED 125
#define WM_STYLECHANGING 124
#define WM_SYSCHAR 262
#define WM_SYSCOLORCHANGE 21
#define WM_SYSCOMMAND 274
#define WM_SYSDEADCHAR 263
#define WM_SYSKEYDOWN 260
#define WM_SYSKEYUP 261
#define WM_TCARD 82
#define WM_THEMECHANGED 794
#define WM_TIMECHANGE 30
#define WM_TIMER 275
#define WM_UNDO 772
#define WM_USER 1024
#define WM_USERCHANGED 84
#define WM_VKEYTOITEM 46
#define WM_VSCROLL 277
#define WM_VSCROLLCLIPBOARD 778
#define WM_WINDOWPOSCHANGED 71
#define WM_WINDOWPOSCHANGING 70
#define WM_WININICHANGE 26
#define WM_KEYFIRST 256
#define WM_KEYLAST 264
#define WM_SYNCPAINT 136
#define WM_MOUSEACTIVATE 33
#define WM_MOUSEMOVE 512
#define WM_LBUTTONDOWN 513
#define WM_LBUTTONUP 514
#define WM_LBUTTONDBLCLK 515
#define WM_RBUTTONDOWN 516
#define WM_RBUTTONUP 517
#define WM_RBUTTONDBLCLK 518
#define WM_MBUTTONDOWN 519
#define WM_MBUTTONUP 520
#define WM_MBUTTONDBLCLK 521
#define WM_MOUSEWHEEL 522
#define WM_MOUSEFIRST 512
#define WM_XBUTTONDOWN 523
#define WM_XBUTTONUP 524
#define WM_XBUTTONDBLCLK 525
#define WM_MOUSELAST 525
#define WM_MOUSEHOVER &h2A1
#define WM_MOUSELEAVE &h2A3
#define WHEEL_DELTA 120
#define BM_CLICK 245
#define BM_GETCHECK 240
#define BM_GETIMAGE 246
#define BM_GETSTATE 242
#define BM_SETCHECK 241
#define BM_SETIMAGE 247
#define BM_SETSTATE 243
#define BM_SETSTYLE 244
#define BN_CLICKED 0
#define BN_DBLCLK 5
#define BN_DISABLE 4
#define BN_DOUBLECLICKED 5
#define BN_HILITE 2
#define BN_KILLFOCUS 7
#define BN_PAINT 1
#define BN_PUSHED 2
#define BN_SETFOCUS 6
#define BN_UNHILITE 3
#define BN_UNPUSHED 3
#define CB_ADDSTRING 323
#define CB_DELETESTRING 324
#define CB_DIR 325
#define CB_FINDSTRING 332
#define CB_FINDSTRINGEXACT 344
#define CB_GETCOUNT 326
#define CB_GETCURSEL 327
#define CB_GETDROPPEDCONTROLRECT 338
#define CB_GETDROPPEDSTATE 343
#define CB_GETDROPPEDWIDTH 351
#define CB_GETEDITSEL 320
#define CB_GETEXTENDEDUI 342
#define CB_GETHORIZONTALEXTENT 349
#define CB_GETITEMDATA 336
#define CB_GETITEMHEIGHT 340
#define CB_GETLBTEXT 328
#define CB_GETLBTEXTLEN 329
#define CB_GETLOCALE 346
#define CB_GETTOPINDEX 347
#define CB_INITSTORAGE 353
#define CB_INSERTSTRING 330
#define CB_LIMITTEXT 321
#define CB_RESETCONTENT 331
#define CB_SELECTSTRING 333
#define CB_SETCURSEL 334
#define CB_SETDROPPEDWIDTH 352
#define CB_SETEDITSEL 322
#define CB_SETEXTENDEDUI 341
#define CB_SETHORIZONTALEXTENT 350
#define CB_SETITEMDATA 337
#define CB_SETITEMHEIGHT 339
#define CB_SETLOCALE 345
#define CB_SETTOPINDEX 348
#define CB_SHOWDROPDOWN 335
#define CB_SETMINVISIBLE &h1701
#define CB_GETMINVISIBLE &h1702
#define CBN_CLOSEUP 8
#define CBN_DBLCLK 2
#define CBN_DROPDOWN 7
#define CBN_EDITCHANGE 5
#define CBN_EDITUPDATE 6
#define CBN_ERRSPACE (-1)
#define CBN_KILLFOCUS 4
#define CBN_SELCHANGE 1
#define CBN_SELENDCANCEL 10
#define CBN_SELENDOK 9
#define CBN_SETFOCUS 3
#define EM_CANUNDO 198
#define EM_CHARFROMPOS 215
#define EM_EMPTYUNDOBUFFER 205
#define EM_FMTLINES 200
#define EM_GETFIRSTVISIBLELINE 206
#define EM_GETHANDLE 189
#define EM_GETLIMITTEXT 213
#define EM_GETLINE 196
#define EM_GETLINECOUNT 186
#define EM_GETMARGINS 212
#define EM_GETMODIFY 184
#define EM_GETPASSWORDCHAR 210
#define EM_GETRECT 178
#define EM_GETSEL 176
#define EM_GETTHUMB 190
#define EM_GETWORDBREAKPROC 209
#define EM_LIMITTEXT 197
#define EM_LINEFROMCHAR 201
#define EM_LINEINDEX 187
#define EM_LINELENGTH 193
#define EM_LINESCROLL 182
#define EM_POSFROMCHAR 214
#define EM_REPLACESEL 194
#define EM_SCROLL 181
#define EM_SCROLLCARET 183
#define EM_SETHANDLE 188
#define EM_SETLIMITTEXT 197
#define EM_SETMARGINS 211
#define EM_SETMODIFY 185
#define EM_SETPASSWORDCHAR 204
#define EM_SETREADONLY 207
#define EM_SETRECT 179
#define EM_SETRECTNP 180
#define EM_SETSEL 177
#define EM_SETTABSTOPS 203
#define EM_SETWORDBREAKPROC 208
#define EM_UNDO 199
#define EN_CHANGE 768
#define EN_ERRSPACE 1280
#define EN_HSCROLL 1537
#define EN_KILLFOCUS 512
#define EN_MAXTEXT 1281
#define EN_SETFOCUS 256
#define EN_UPDATE 1024
#define EN_VSCROLL 1538
#define LB_ADDFILE 406
#define LB_ADDSTRING 384
#define LB_DELETESTRING 386
#define LB_DIR 397
#define LB_FINDSTRING 399
#define LB_FINDSTRINGEXACT 418
#define LB_GETANCHORINDEX 413
#define LB_GETCARETINDEX 415
#define LB_GETCOUNT 395
#define LB_GETCURSEL 392
#define LB_GETHORIZONTALEXTENT 403
#define LB_GETITEMDATA 409
#define LB_GETITEMHEIGHT 417
#define LB_GETITEMRECT 408
#define LB_GETLOCALE 422
#define LB_GETSEL 391
#define LB_GETSELCOUNT 400
#define LB_GETSELITEMS 401
#define LB_GETTEXT 393
#define LB_GETTEXTLEN 394
#define LB_GETTOPINDEX 398
#define LB_INITSTORAGE 424
#define LB_INSERTSTRING 385
#define LB_ITEMFROMPOINT 425
#define LB_RESETCONTENT 388
#define LB_SELECTSTRING 396
#define LB_SELITEMRANGE 411
#define LB_SELITEMRANGEEX 387
#define LB_SETANCHORINDEX 412
#define LB_SETCARETINDEX 414
#define LB_SETCOLUMNWIDTH 405
#define LB_SETCOUNT 423
#define LB_SETCURSEL 390
#define LB_SETHORIZONTALEXTENT 404
#define LB_SETITEMDATA 410
#define LB_SETITEMHEIGHT 416
#define LB_SETLOCALE 421
#define LB_SETSEL 389
#define LB_SETTABSTOPS 402
#define LB_SETTOPINDEX 407
#define LBN_DBLCLK 2
#define LBN_ERRSPACE (-2)
#define LBN_KILLFOCUS 5
#define LBN_SELCANCEL 3
#define LBN_SELCHANGE 1
#define LBN_SETFOCUS 4
#define SBM_ENABLE_ARROWS 228
#define SBM_GETPOS 225
#define SBM_GETRANGE 227
#define SBM_GETSCROLLINFO 234
#define SBM_SETPOS 224
#define SBM_SETRANGE 226
#define SBM_SETRANGEREDRAW 230
#define SBM_SETSCROLLINFO 233
#define STM_GETICON 369
#define STM_GETIMAGE 371
#define STM_SETICON 368
#define STM_SETIMAGE 370
#define STN_CLICKED 0
#define STN_DBLCLK 1
#define STN_DISABLE 3
#define STN_ENABLE 2
#define DM_GETDEFID 1024
#define DM_SETDEFID (1024+1)
#define DM_REPOSITION (1024+2)
#define PSM_PAGEINFO (1024+100)
#define PSM_SHEETINFO (1024+101)
#define PSI_SETACTIVE 1
#define PSI_KILLACTIVE 2
#define PSI_APPLY 3
#define PSI_RESET 4
#define PSI_HASHELP 5
#define PSI_HELP 6
#define PSI_CHANGED 1
#define PSI_GUISTART 2
#define PSI_REBOOT 3
#define PSI_GETSIBLINGS 4
#define DCX_WINDOW 1
#define DCX_CACHE 2
#define DCX_PARENTCLIP 32
#define DCX_CLIPSIBLINGS 16
#define DCX_CLIPCHILDREN 8
#define DCX_NORESETATTRS 4
#define DCX_INTERSECTUPDATE &h200
#define DCX_LOCKWINDOWUPDATE &h400
#define DCX_EXCLUDERGN 64
#define DCX_INTERSECTRGN 128
#define DCX_VALIDATE &h200000
#define GMDI_GOINTOPOPUPS 2
#define GMDI_USEDISABLED 1
#define FKF_AVAILABLE 2
#define FKF_CLICKON 64
#define FKF_FILTERKEYSON 1
#define FKF_HOTKEYACTIVE 4
#define FKF_HOTKEYSOUND 16
#define FKF_CONFIRMHOTKEY 8
#define FKF_INDICATOR 32
#define HCF_HIGHCONTRASTON 1
#define HCF_AVAILABLE 2
#define HCF_HOTKEYACTIVE 4
#define HCF_CONFIRMHOTKEY 8
#define HCF_HOTKEYSOUND 16
#define HCF_INDICATOR 32
#define HCF_HOTKEYAVAILABLE 64
#define MKF_AVAILABLE 2
#define MKF_CONFIRMHOTKEY 8
#define MKF_HOTKEYACTIVE 4
#define MKF_HOTKEYSOUND 16
#define MKF_INDICATOR 32
#define MKF_MOUSEKEYSON 1
#define MKF_MODIFIERS 64
#define MKF_REPLACENUMBERS 128
#define SERKF_ACTIVE 8
#define SERKF_AVAILABLE 2
#define SERKF_INDICATOR 4
#define SERKF_SERIALKEYSON 1
#define SSF_AVAILABLE 2
#define SSF_SOUNDSENTRYON 1
#define SSTF_BORDER 2
#define SSTF_CHARS 1
#define SSTF_DISPLAY 3
#define SSTF_NONE 0
#define SSGF_DISPLAY 3
#define SSGF_NONE 0
#define SSWF_CUSTOM 4
#define SSWF_DISPLAY 3
#define SSWF_NONE 0
#define SSWF_TITLE 1
#define SSWF_WINDOW 2
#define SKF_AUDIBLEFEEDBACK 64
#define SKF_AVAILABLE 2
#define SKF_CONFIRMHOTKEY 8
#define SKF_HOTKEYACTIVE 4
#define SKF_HOTKEYSOUND 16
#define SKF_INDICATOR 32
#define SKF_STICKYKEYSON 1
#define SKF_TRISTATE 128
#define SKF_TWOKEYSOFF 256
#define TKF_AVAILABLE 2
#define TKF_CONFIRMHOTKEY 8
#define TKF_HOTKEYACTIVE 4
#define TKF_HOTKEYSOUND 16
#define TKF_TOGGLEKEYSON 1
#define MDITILE_SKIPDISABLED 2
#define MDITILE_HORIZONTAL 1
#define MDITILE_VERTICAL 0
#define VK_LBUTTON 1
#define VK_RBUTTON 2
#define VK_CANCEL 3
#define VK_MBUTTON 4
#define VK_XBUTTON1 5
#define VK_XBUTTON2 6
#define VK_BACK 8
#define VK_TAB 9
#define VK_CLEAR 12
#define VK_RETURN 13
#define VK_SHIFT 16
#define VK_CONTROL 17
#define VK_MENU 18
#define VK_PAUSE 19
#define VK_CAPITAL 20
#define VK_KANA &h15
#define VK_HANGEUL &h15
#define VK_HANGUL &h15
#define VK_JUNJA &h17
#define VK_FINAL &h18
#define VK_HANJA &h19
#define VK_KANJI &h19
#define VK_ESCAPE &h1B
#define VK_CONVERT &h1C
#define VK_NONCONVERT &h1D
#define VK_ACCEPT &h1E
#define VK_MODECHANGE &h1F
#define VK_SPACE 32
#define VK_PRIOR 33
#define VK_NEXT 34
#define VK_END 35
#define VK_HOME 36
#define VK_LEFT 37
#define VK_UP 38
#define VK_RIGHT 39
#define VK_DOWN 40
#define VK_SELECT 41
#define VK_PRINT 42
#define VK_EXECUTE 43
#define VK_SNAPSHOT 44
#define VK_INSERT 45
#define VK_DELETE 46
#define VK_HELP 47
#define VK_0                &H30
#define VK_1                &H31
#define VK_2                &H32
#define VK_3                &H33
#define VK_4                &H34
#define VK_5                &H35
#define VK_6                &H36
#define VK_7                &H37
#define VK_8                &H38
#define VK_9                &H39
#define VK_A                &H41
#define VK_B                &H42
#define VK_C                &H43
#define VK_D                &H44
#define VK_E                &H45
#define VK_F                &H46
#define VK_G                &H47
#define VK_H                &H48
#define VK_I                &H49
#define VK_J                &H4A
#define VK_K                &H4B
#define VK_L                &H4C
#define VK_M                &H4D
#define VK_N                &H4E
#define VK_O                &H4F
#define VK_P                &H50
#define VK_Q                &H51
#define VK_R                &H52
#define VK_S                &H53
#define VK_T                &H54
#define VK_U                &H55
#define VK_V                &H56
#define VK_W                &H57
#define VK_X                &H58
#define VK_Y                &H59
#define VK_Z                &H5A
#define VK_LWIN &h5B
#define VK_RWIN &h5C
#define VK_APPS &h5D
#define VK_SLEEP &h5F
#define VK_NUMPAD0 &h60
#define VK_NUMPAD1 &h61
#define VK_NUMPAD2 &h62
#define VK_NUMPAD3 &h63
#define VK_NUMPAD4 &h64
#define VK_NUMPAD5 &h65
#define VK_NUMPAD6 &h66
#define VK_NUMPAD7 &h67
#define VK_NUMPAD8 &h68
#define VK_NUMPAD9 &h69
#define VK_MULTIPLY &h6A
#define VK_ADD &h6B
#define VK_SEPARATOR &h6C
#define VK_SUBTRACT &h6D
#define VK_DECIMAL &h6E
#define VK_DIVIDE &h6F
#define VK_F1 &h70
#define VK_F2 &h71
#define VK_F3 &h72
#define VK_F4 &h73
#define VK_F5 &h74
#define VK_F6 &h75
#define VK_F7 &h76
#define VK_F8 &h77
#define VK_F9 &h78
#define VK_F10 &h79
#define VK_F11 &h7A
#define VK_F12 &h7B
#define VK_F13 &h7C
#define VK_F14 &h7D
#define VK_F15 &h7E
#define VK_F16 &h7F
#define VK_F17 &h80
#define VK_F18 &h81
#define VK_F19 &h82
#define VK_F20 &h83
#define VK_F21 &h84
#define VK_F22 &h85
#define VK_F23 &h86
#define VK_F24 &h87
#define VK_NUMLOCK &h90
#define VK_SCROLL &h91
#define VK_LSHIFT &hA0
#define VK_RSHIFT &hA1
#define VK_LCONTROL &hA2
#define VK_RCONTROL &hA3
#define VK_LMENU &hA4
#define VK_RMENU &hA5
#define VK_BROWSER_BACK &hA6
#define VK_BROWSER_FORWARD &hA7
#define VK_BROWSER_REFRESH &hA8
#define VK_BROWSER_STOP &hA9
#define VK_BROWSER_SEARCH &hAA
#define VK_BROWSER_FAVORITES &hAB
#define VK_BROWSER_HOME &hAC
#define VK_VOLUME_MUTE &hAD
#define VK_VOLUME_DOWN &hAE
#define VK_VOLUME_UP &hAF
#define VK_MEDIA_NEXT_TRACK &hB0
#define VK_MEDIA_PREV_TRACK &hB1
#define VK_MEDIA_STOP &hB2
#define VK_MEDIA_PLAY_PAUSE &hB3
#define VK_LAUNCH_MAIL &hB4
#define VK_LAUNCH_MEDIA_SELECT &hB5
#define VK_LAUNCH_APP1 &hB6
#define VK_LAUNCH_APP2 &hB7
#define VK_OEM_1 &hBA
#define VK_OEM_PLUS &hBB
#define VK_OEM_COMMA &hBC
#define VK_OEM_MINUS &hBD
#define VK_OEM_PERIOD &hBE
#define VK_OEM_2 &hBF
#define VK_OEM_3 &hC0
#define VK_OEM_4 &hDB
#define VK_OEM_5 &hDC
#define VK_OEM_6 &hDD
#define VK_OEM_7 &hDE
#define VK_OEM_8 &hDF
#define VK_OEM_102 &hE2
#define VK_PROCESSKEY &hE5
#define VK_PACKET &hE7
#define VK_ATTN &hF6
#define VK_CRSEL &hF7
#define VK_EXSEL &hF8
#define VK_EREOF &hF9
#define VK_PLAY &hFA
#define VK_ZOOM &hFB
#define VK_NONAME &hFC
#define VK_PA1 &hFD
#define VK_OEM_CLEAR &hFE
#define TME_HOVER 1
#define TME_LEAVE 2
#define TME_QUERY &h40000000
#define TME_CANCEL &h80000000
#define HOVER_DEFAULT &hFFFFFFFF
#define MK_LBUTTON 1
#define MK_RBUTTON 2
#define MK_SHIFT 4
#define MK_CONTROL 8
#define MK_MBUTTON 16
#define MK_XBUTTON1 32
#define MK_XBUTTON2 64
#define TPM_CENTERALIGN 4
#define TPM_LEFTALIGN 0
#define TPM_RIGHTALIGN 8
#define TPM_LEFTBUTTON 0
#define TPM_RIGHTBUTTON 2
#define TPM_HORIZONTAL 0
#define TPM_VERTICAL 64
#define TPM_TOPALIGN 0
#define TPM_VCENTERALIGN 16
#define TPM_BOTTOMALIGN 32
#define TPM_NONOTIFY 128
#define TPM_RETURNCMD 256
#define TPM_RECURSE 1
#define HELP_COMMAND &h102
#define HELP_CONTENTS 3
#define HELP_CONTEXT 1
#define HELP_CONTEXTPOPUP 8
#define HELP_FORCEFILE 9
#define HELP_HELPONHELP 4
#define HELP_INDEX 3
#define HELP_KEY &h101
#define HELP_MULTIKEY &h201
#define HELP_PARTIALKEY &h105
#define HELP_QUIT 2
#define HELP_SETCONTENTS 5
#define HELP_SETINDEX 5
#define HELP_SETWINPOS &h203
#define HELP_CONTEXTMENU &ha
#define HELP_FINDER &hb
#define HELP_WM_HELP &hc
#define HELP_TCARD &h8000
#define HELP_TCARD_DATA 16
#define HELP_TCARD_OTHER_CALLER &h11
#define IDH_NO_HELP 28440
#define IDH_MISSING_CONTEXT 28441
#define IDH_GENERIC_HELP_BUTTON 28442
#define IDH_OK 28443
#define IDH_CANCEL 28444
#define IDH_HELP 28445
#define LB_CTLCODE 0
#define LB_OKAY 0
#define LB_ERR (-1)
#define LB_ERRSPACE (-2)
#define CB_OKAY 0
#define CB_ERR (-1)
#define CB_ERRSPACE (-2)
#define HIDE_WINDOW 0
#define SHOW_OPENWINDOW 1
#define SHOW_ICONWINDOW 2
#define SHOW_FULLSCREEN 3
#define SHOW_OPENNOACTIVATE 4
#define SW_PARENTCLOSING 1
#define SW_OTHERZOOM 2
#define SW_PARENTOPENING 3
#define SW_OTHERUNZOOM 4
#define KF_EXTENDED 256
#define KF_DLGMODE 2048
#define KF_MENUMODE 4096
#define KF_ALTDOWN 8192
#define KF_REPEAT 16384
#define KF_UP 32768
#define WSF_VISIBLE 1
#define PWR_OK 1
#define PWR_FAIL (-1)
#define PWR_SUSPENDREQUEST 1
#define PWR_SUSPENDRESUME 2
#define PWR_CRITICALRESUME 3
#define NFR_ANSI 1
#define NFR_UNICODE 2
#define NF_QUERY 3
#define NF_REQUERY 4
#define MENULOOP_WINDOW 0
#define MENULOOP_POPUP 1
#define WMSZ_LEFT 1
#define WMSZ_RIGHT 2
#define WMSZ_TOP 3
#define WMSZ_TOPLEFT 4
#define WMSZ_TOPRIGHT 5
#define WMSZ_BOTTOM 6
#define WMSZ_BOTTOMLEFT 7
#define WMSZ_BOTTOMRIGHT 8
#define HTERROR (-2)
#define HTTRANSPARENT (-1)
#define HTNOWHERE 0
#define HTCLIENT 1
#define HTCAPTION 2
#define HTSYSMENU 3
#define HTGROWBOX 4
#define HTSIZE 4
#define HTMENU 5
#define HTHSCROLL 6
#define HTVSCROLL 7
#define HTMINBUTTON 8
#define HTMAXBUTTON 9
#define HTREDUCE 8
#define HTZOOM 9
#define HTLEFT 10
#define HTSIZEFIRST 10
#define HTRIGHT 11
#define HTTOP 12
#define HTTOPLEFT 13
#define HTTOPRIGHT 14
#define HTBOTTOM 15
#define HTBOTTOMLEFT 16
#define HTBOTTOMRIGHT 17
#define HTSIZELAST 17
#define HTBORDER 18
#define HTOBJECT 19
#define HTCLOSE 20
#define HTHELP 21
#define MA_ACTIVATE 1
#define MA_ACTIVATEANDEAT 2
#define MA_NOACTIVATE 3
#define MA_NOACTIVATEANDEAT 4
#define SIZE_RESTORED 0
#define SIZE_MINIMIZED 1
#define SIZE_MAXIMIZED 2
#define SIZE_MAXSHOW 3
#define SIZE_MAXHIDE 4
#define SIZENORMAL 0
#define SIZEICONIC 1
#define SIZEFULLSCREEN 2
#define SIZEZOOMSHOW 3
#define SIZEZOOMHIDE 4
#define WVR_ALIGNTOP 16
#define WVR_ALIGNLEFT 32
#define WVR_ALIGNBOTTOM 64
#define WVR_ALIGNRIGHT 128
#define WVR_HREDRAW 256
#define WVR_VREDRAW 512
#define WVR_REDRAW (256 or 512)
#define WVR_VALIDRECTS 1024
#define PRF_CHECKVISIBLE 1
#define PRF_NONCLIENT 2
#define PRF_CLIENT 4
#define PRF_ERASEBKGND 8
#define PRF_CHILDREN 16
#define PRF_OWNED 32
#define IDANI_OPEN 1
#define IDANI_CLOSE 2
#define IDANI_CAPTION 3
#define WPF_RESTORETOMAXIMIZED 2
#define WPF_SETMINPOSITION 1
#define ODT_MENU 1
#define ODT_LISTBOX 2
#define ODT_COMBOBOX 3
#define ODT_BUTTON 4
#define ODT_STATIC 5
#define ODA_DRAWENTIRE 1
#define ODA_SELECT 2
#define ODA_FOCUS 4
#define ODS_SELECTED 1
#define ODS_GRAYED 2
#define ODS_DISABLED 4
#define ODS_CHECKED 8
#define ODS_FOCUS 16
#define ODS_DEFAULT 32
#define ODS_COMBOBOXEDIT 4096
#define IDHOT_SNAPWINDOW (-1)
#define IDHOT_SNAPDESKTOP (-2)
#define DBWF_LPARAMPOINTER &h8000
#define DLGWINDOWEXTRA 30
#define MNC_IGNORE 0
#define MNC_CLOSE 1
#define MNC_EXECUTE 2
#define MNC_SELECT 3
#define DOF_EXECUTABLE &h8001
#define DOF_DOCUMENT &h8002
#define DOF_DIRECTORY &h8003
#define DOF_MULTIPLE &h8004
#define DOF_PROGMAN 1
#define DOF_SHELLDATA 2
#define DO_DROPFILE &h454C4946
#define DO_PRINTFILE &h544E5250
#define SW_SCROLLCHILDREN 1
#define SW_INVALIDATE 2
#define SW_ERASE 4
#define SW_SMOOTHSCROLL &h0010
#define SC_SIZE &hF000
#define SC_MOVE &hF010
#define SC_MINIMIZE &hF020
#define SC_ICON &hf020
#define SC_MAXIMIZE &hF030
#define SC_ZOOM &hF030
#define SC_NEXTWINDOW &hF040
#define SC_PREVWINDOW &hF050
#define SC_CLOSE &hF060
#define SC_VSCROLL &hF070
#define SC_HSCROLL &hF080
#define SC_MOUSEMENU &hF090
#define SC_KEYMENU &hF100
#define SC_ARRANGE &hF110
#define SC_RESTORE &hF120
#define SC_TASKLIST &hF130
#define SC_SCREENSAVE &hF140
#define SC_HOTKEY &hF150
#define SC_DEFAULT &hF160
#define SC_MONITORPOWER &hF170
#define SC_CONTEXTHELP &hF180
#define SC_SEPARATOR &hF00F
#define EC_LEFTMARGIN 1
#define EC_RIGHTMARGIN 2
#define EC_USEFONTINFO &hffff
#define DC_HASDEFID &h534B
#define DLGC_WANTARROWS 1
#define DLGC_WANTTAB 2
#define DLGC_WANTALLKEYS 4
#define DLGC_WANTMESSAGE 4
#define DLGC_HASSETSEL 8
#define DLGC_DEFPUSHBUTTON 16
#define DLGC_UNDEFPUSHBUTTON 32
#define DLGC_RADIOBUTTON 64
#define DLGC_WANTCHARS 128
#define DLGC_STATIC 256
#define DLGC_BUTTON &h2000
#define LB_CTLCODE 0
#define WA_INACTIVE 0
#define WA_ACTIVE 1
#define WA_CLICKACTIVE 2
#define ICON_SMALL 0
#define ICON_BIG 1
#define ICON_SMALL2 2
#define HBMMENU_CALLBACK cptr(HBITMAP, -1)
#define HBMMENU_SYSTEM cptr(HBITMAP, 1)
#define HBMMENU_MBAR_RESTORE cptr(HBITMAP, 2)
#define HBMMENU_MBAR_MINIMIZE cptr(HBITMAP, 3)
#define HBMMENU_MBAR_CLOSE cptr(HBITMAP, 5)
#define HBMMENU_MBAR_CLOSE_D cptr(HBITMAP, 6)
#define HBMMENU_MBAR_MINIMIZE_D cptr(HBITMAP, 7)
#define HBMMENU_POPUP_CLOSE cptr(HBITMAP, 8)
#define HBMMENU_POPUP_RESTORE cptr(HBITMAP, 9)
#define HBMMENU_POPUP_MAXIMIZE cptr(HBITMAP, 10)
#define HBMMENU_POPUP_MINIMIZE cptr(HBITMAP, 11)
#define MOD_ALT 1
#define MOD_CONTROL 2
#define MOD_SHIFT 4
#define MOD_WIN 8
#define MOD_IGNORE_ALL_MODIFIER 1024
#define MOD_ON_KEYUP 2048
#define MOD_RIGHT 16384
#define MOD_LEFT 32768
#define LLKHF_EXTENDED (256 shr 8)
#define LLKHF_INJECTED &h00000010
#define LLKHF_ALTDOWN (8192 shr 8)
#define LLKHF_UP (32768 shr 8)
#define CURSOR_SHOWING &h00000001
#define WS_ACTIVECAPTION &h00000001
#define INPUT_MOUSE &h00000000
#define INPUT_KEYBOARD &h00000001
#define INPUT_HARDWARE &h00000002
#define ENDSESSION_LOGOFF &h80000000
#define LSFW_LOCK 1
#define LSFW_UNLOCK 2
#define LWA_COLORKEY &h01
#define LWA_ALPHA &h02
#define ULW_COLORKEY &h01
#define ULW_ALPHA &h02
#define ULW_OPAQUE &h04
#define GA_PARENT 1
#define GA_ROOT 2
#define GA_ROOTOWNER 3
#define MONITOR_DEFAULTTONULL 0
#define MONITOR_DEFAULTTOPRIMARY 1
#define MONITOR_DEFAULTTONEAREST 2
#define MONITORINFOF_PRIMARY 1
#define EDS_RAWMODE &h00000002
#define ISMEX_NOSEND &h00000000
#define ISMEX_CALLBACK &h00000004
#define ISMEX_NOTIFY &h00000002
#define ISMEX_REPLIED &h00000008
#define ISMEX_SEND &h00000001
#define GR_GDIOBJECTS 0
#define GR_USEROBJECTS 1
#define GMMP_USE_DISPLAY_POINTS 1
#define GMMP_USE_HIGH_RESOLUTION_POINTS 2
#define PW_CLIENTONLY &h00000001
#define RIM_INPUT &h00000000
#define RIM_INPUTSINK &h00000001
#define RIM_TYPEMOUSE &h00000000
#define RIM_TYPEKEYBOARD &h00000001
#define RIM_TYPEHID &h00000002
#define MOUSE_MOVE_RELATIVE &h00000000
#define MOUSE_MOVE_ABSOLUTE &h00000001
#define MOUSE_VIRTUAL_DESKTOP &h00000002
#define MOUSE_ATTRIBUTES_CHANGED &h00000004
#define RI_MOUSE_LEFT_BUTTON_DOWN &h0001
#define RI_MOUSE_LEFT_BUTTON_UP &h0002
#define RI_MOUSE_RIGHT_BUTTON_DOWN &h0004
#define RI_MOUSE_RIGHT_BUTTON_UP &h0008
#define RI_MOUSE_MIDDLE_BUTTON_DOWN &h0010
#define RI_MOUSE_MIDDLE_BUTTON_UP &h0020
#define RI_MOUSE_BUTTON_1_DOWN &h0001
#define RI_MOUSE_BUTTON_1_UP &h0002
#define RI_MOUSE_BUTTON_2_DOWN &h0004
#define RI_MOUSE_BUTTON_2_UP &h0008
#define RI_MOUSE_BUTTON_3_DOWN &h0010
#define RI_MOUSE_BUTTON_3_UP &h0020
#define RI_MOUSE_BUTTON_4_DOWN &h0040
#define RI_MOUSE_BUTTON_4_UP &h0080
#define RI_MOUSE_BUTTON_5_DOWN &h0100
#define RI_MOUSE_BUTTON_5_UP &h0200
#define RI_MOUSE_WHEEL &h0400
#define KEYBOARD_OVERRUN_MAKE_CODE &h00ff
#define RI_KEY_MAKE &h0000
#define RI_KEY_BREAK &h0001
#define RI_KEY_E0 &h0002
#define RI_KEY_E1 &h0004
#define RI_KEY_TERMSRV_SET_LED &h0008
#define RI_KEY_TERMSRV_SHADOW &h0010
#define RID_INPUT &h10000003
#define RID_HEADER &h10000005
#define RIDI_PREPARSEDDATA &h20000005
#define RIDI_DEVICENAME &h20000007
#define RIDI_DEVICEINFO &h200000&b
#define RIDEV_REMOVE &h00000001
#define RIDEV_EXCLUDE &h00000010
#define RIDEV_PAGEONLY &h00000020
#define RIDEV_NOLEGACY &h00000030
#define RIDEV_INPUTSINK &h00000100
#define RIDEV_CAPTUREMOUSE &h00000200
#define RIDEV_NOHOTKEYS &h00000200
#define RIDEV_APPKEYS &h00000400

type DLGPROC as function (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as BOOL
type TIMERPROC as sub (byval as HWND, byval as UINT, byval as UINT, byval as DWORD)
type GRAYSTRINGPROC as function (byval as HDC, byval as LPARAM, byval as integer) as BOOL
type HOOKPROC as function (byval as integer, byval as WPARAM, byval as LPARAM) as LRESULT
type PROPENUMPROCA as function (byval as HWND, byval as LPCSTR, byval as HANDLE) as BOOL
type PROPENUMPROCW as function (byval as HWND, byval as LPCWSTR, byval as HANDLE) as BOOL
type PROPENUMPROCEXA as function (byval as HWND, byval as LPSTR, byval as HANDLE, byval as DWORD) as BOOL
type PROPENUMPROCEXW as function (byval as HWND, byval as LPWSTR, byval as HANDLE, byval as DWORD) as BOOL
type EDITWORDBREAKPROCA as function (byval as LPSTR, byval as integer, byval as integer, byval as integer) as integer
type EDITWORDBREAKPROCW as function (byval as LPWSTR, byval as integer, byval as integer, byval as integer) as integer
type WNDPROC as function (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
type DRAWSTATEPROC as function (byval as HDC, byval as LPARAM, byval as WPARAM, byval as integer, byval as integer) as BOOL
type WNDENUMPROC as function (byval as HWND, byval as LPARAM) as BOOL
type ENUMWINDOWSPROC as function (byval as HWND, byval as LPARAM) as BOOL
type MONITORENUMPROC as function (byval as HMONITOR, byval as HDC, byval as LPRECT, byval as LPARAM) as BOOL
type NAMEENUMPROCA as function (byval as LPSTR, byval as LPARAM) as BOOL
type NAMEENUMPROCW as function (byval as LPWSTR, byval as LPARAM) as BOOL
type DESKTOPENUMPROCA as NAMEENUMPROCA
type DESKTOPENUMPROCW as NAMEENUMPROCW
type WINSTAENUMPROCA as NAMEENUMPROCA
type WINSTAENUMPROCW as NAMEENUMPROCW
type SENDASYNCPROC as sub (byval as HWND, byval as UINT, byval as DWORD, byval as LRESULT)

type HHOOK__
	i as integer
end type

type HHOOK as HHOOK__ ptr

type HDWP__
	i as integer
end type

type HDWP as HDWP__ ptr

type HDEVNOTIFY__
	i as integer
end type

type HDEVNOTIFY as HDEVNOTIFY__ ptr

type ACCEL
	fVirt as UBYTE
	key as WORD
	cmd as WORD
end type

type LPACCEL as ACCEL ptr

type ACCESSTIMEOUT
	cbSize as UINT
	dwFlags as DWORD
	iTimeOutMSec as DWORD
end type

type LPACCESSTIMEOUT as ACCESSTIMEOUT ptr

type ANIMATIONINFO
	cbSize as UINT
	iMinAnimate as integer
end type

type LPANIMATIONINFO as ANIMATIONINFO ptr

#ifndef UNICODE
type CREATESTRUCTA
	lpCreateParams as LPVOID
	hInstance as HINSTANCE
	hMenu as HMENU
	hwndParent as HWND
	cy as integer
	cx as integer
	y as integer
	x as integer
	style as LONG
	lpszName as LPCSTR
	lpszClass as LPCSTR
	dwExStyle as DWORD
end type

type LPCREATESTRUCTA as CREATESTRUCTA ptr

#else ''UNICODE
type CREATESTRUCTW
	lpCreateParams as LPVOID
	hInstance as HINSTANCE
	hMenu as HMENU
	hwndParent as HWND
	cy as integer
	cx as integer
	y as integer
	x as integer
	style as LONG
	lpszName as LPCWSTR
	lpszClass as LPCWSTR
	dwExStyle as DWORD
end type

type LPCREATESTRUCTW as CREATESTRUCTW ptr
#endif ''UNICODE

#ifndef UNICODE
type CBT_CREATEWNDA
	lpcs as LPCREATESTRUCTA
	hwndInsertAfter as HWND
end type

type LPCBT_CREATEWNDA as CBT_CREATEWNDA ptr

#else ''UNICODE
type CBT_CREATEWNDW
	lpcs as LPCREATESTRUCTW
	hwndInsertAfter as HWND
end type

type LPCBT_CREATEWNDW as CBT_CREATEWNDW ptr
#endif ''UNICODE

type CBTACTIVATESTRUCT
	fMouse as BOOL
	hWndActive as HWND
end type

type LPCBTACTIVATESTRUCT as CBTACTIVATESTRUCT ptr

type CLIENTCREATESTRUCT
	hWindowMenu as HANDLE
	idFirstChild as UINT
end type

type LPCLIENTCREATESTRUCT as CLIENTCREATESTRUCT ptr

type COMPAREITEMSTRUCT
	CtlType as UINT
	CtlID as UINT
	hwndItem as HWND
	itemID1 as UINT
	itemData1 as DWORD
	itemID2 as UINT
	itemData2 as DWORD
	dwLocaleId as DWORD
end type

type LPCOMPAREITEMSTRUCT as COMPAREITEMSTRUCT ptr

type COPYDATASTRUCT
	dwData as DWORD
	cbData as DWORD
	lpData as PVOID
end type

type PCOPYDATASTRUCT as COPYDATASTRUCT ptr

type CURSORSHAPE
	xHotSpot as integer
	yHotSpot as integer
	cx as integer
	cy as integer
	cbWidth as integer
	Planes as UBYTE
	BitsPixel as UBYTE
end type

type LPCURSORSHAPE as CURSORSHAPE ptr

type CWPRETSTRUCT
	lResult as LRESULT
	lParam as LPARAM
	wParam as WPARAM
	message as DWORD
	hwnd as HWND
end type

type CWPSTRUCT
	lParam as LPARAM
	wParam as WPARAM
	message as UINT
	hwnd as HWND
end type

type PCWPSTRUCT as CWPSTRUCT ptr

type DEBUGHOOKINFO
	idThread as DWORD
	idThreadInstaller as DWORD
	lParam as LPARAM
	wParam as WPARAM
	code as integer
end type

type PDEBUGHOOKINFO as DEBUGHOOKINFO ptr
type LPDEBUGHOOKINFO as DEBUGHOOKINFO ptr

type DELETEITEMSTRUCT
	CtlType as UINT
	CtlID as UINT
	itemID as UINT
	hwndItem as HWND
	itemData as UINT
end type

type PDELETEITEMSTRUCT as DELETEITEMSTRUCT ptr
type LPDELETEITEMSTRUCT as DELETEITEMSTRUCT ptr

type DLGITEMTEMPLATE field=2
	style as DWORD
	dwExtendedStyle as DWORD
	x as short
	y as short
	cx as short
	cy as short
	id as WORD
end type

type LPDLGITEMTEMPLATE as DLGITEMTEMPLATE ptr

type DLGTEMPLATE field=2
	style as DWORD
	dwExtendedStyle as DWORD
	cdit as WORD
	x as short
	y as short
	cx as short
	cy as short
end type

type LPDLGTEMPLATE as DLGTEMPLATE ptr
type LPDLGTEMPLATEA as DLGTEMPLATE ptr
type LPDLGTEMPLATEW as DLGTEMPLATE ptr
type LPCDLGTEMPLATE as DLGTEMPLATE ptr

type DRAWITEMSTRUCT
	CtlType as UINT
	CtlID as UINT
	itemID as UINT
	itemAction as UINT
	itemState as UINT
	hwndItem as HWND
	hDC as HDC
	rcItem as RECT
	itemData as DWORD
end type

type LPDRAWITEMSTRUCT as DRAWITEMSTRUCT ptr
type PDRAWITEMSTRUCT as DRAWITEMSTRUCT ptr

type DRAWTEXTPARAMS
	cbSize as UINT
	iTabLength as integer
	iLeftMargin as integer
	iRightMargin as integer
	uiLengthDrawn as UINT
end type

type LPDRAWTEXTPARAMS as DRAWTEXTPARAMS ptr

type PAINTSTRUCT
	hdc as HDC
	fErase as BOOL
	rcPaint as RECT
	fRestore as BOOL
	fIncUpdate as BOOL
	rgbReserved(0 to 32-1) as UBYTE
end type

type LPPAINTSTRUCT as PAINTSTRUCT ptr

type MSG
	hwnd as HWND
	message as UINT
	wParam as WPARAM
	lParam as LPARAM
	time as DWORD
	pt as POINT
end type

type LPMSG as MSG ptr
type PMSG as MSG ptr

type ICONINFO
	fIcon as BOOL
	xHotspot as DWORD
	yHotspot as DWORD
	hbmMask as HBITMAP
	hbmColor as HBITMAP
end type

type PICONINFO as ICONINFO ptr

type NMHDR
	hwndFrom as HWND
	idFrom as UINT
	code as UINT
end type

type LPNMHDR as NMHDR ptr

#ifndef UNICODE
type WNDCLASSA
	style as UINT
	lpfnWndProc as WNDPROC
	cbClsExtra as integer
	cbWndExtra as integer
	hInstance as HINSTANCE
	hIcon as HICON
	hCursor as HCURSOR
	hbrBackground as HBRUSH
	lpszMenuName as LPCSTR
	lpszClassName as LPCSTR
end type

type LPWNDCLASSA as WNDCLASSA ptr
type PWNDCLASSA as WNDCLASSA ptr

#else ''UNICODE
type WNDCLASSW
	style as UINT
	lpfnWndProc as WNDPROC
	cbClsExtra as integer
	cbWndExtra as integer
	hInstance as HINSTANCE
	hIcon as HICON
	hCursor as HCURSOR
	hbrBackground as HBRUSH
	lpszMenuName as LPCWSTR
	lpszClassName as LPCWSTR
end type

type LPWNDCLASSW as WNDCLASSW ptr
type PWNDCLASSW as WNDCLASSW ptr
#endif ''UNICODE

#ifndef UNICODE
type WNDCLASSEXA
	cbSize as UINT
	style as UINT
	lpfnWndProc as WNDPROC
	cbClsExtra as integer
	cbWndExtra as integer
	hInstance as HINSTANCE
	hIcon as HICON
	hCursor as HCURSOR
	hbrBackground as HBRUSH
	lpszMenuName as LPCSTR
	lpszClassName as LPCSTR
	hIconSm as HICON
end type

type LPWNDCLASSEXA as WNDCLASSEXA ptr
type PWNDCLASSEXA as WNDCLASSEXA ptr
#else ''UNICODE

type WNDCLASSEXW
	cbSize as UINT
	style as UINT
	lpfnWndProc as WNDPROC
	cbClsExtra as integer
	cbWndExtra as integer
	hInstance as HINSTANCE
	hIcon as HICON
	hCursor as HCURSOR
	hbrBackground as HBRUSH
	lpszMenuName as LPCWSTR
	lpszClassName as LPCWSTR
	hIconSm as HICON
end type

type LPWNDCLASSEXW as WNDCLASSEXW ptr
type PWNDCLASSEXW as WNDCLASSEXW ptr
#endif ''UNICODE

#ifndef UNICODE
type MENUITEMINFOA
	cbSize as UINT
	fMask as UINT
	fType as UINT
	fState as UINT
	wID as UINT
	hSubMenu as HMENU
	hbmpChecked as HBITMAP
	hbmpUnchecked as HBITMAP
	dwItemData as DWORD
	dwTypeData as LPSTR
	cch as UINT
end type

type LPMENUITEMINFOA as MENUITEMINFOA ptr
type LPCMENUITEMINFOA as MENUITEMINFOA ptr

#else ''UNICODE
type MENUITEMINFOW
	cbSize as UINT
	fMask as UINT
	fType as UINT
	fState as UINT
	wID as UINT
	hSubMenu as HMENU
	hbmpChecked as HBITMAP
	hbmpUnchecked as HBITMAP
	dwItemData as DWORD
	dwTypeData as LPWSTR
	cch as UINT
end type

type LPMENUITEMINFOW as MENUITEMINFOW ptr
type LPCMENUITEMINFOW as MENUITEMINFOW ptr
#endif ''UNICODE

type SCROLLINFO
	cbSize as UINT
	fMask as UINT
	nMin as integer
	nMax as integer
	nPage as UINT
	nPos as integer
	nTrackPos as integer
end type

type LPSCROLLINFO as SCROLLINFO ptr
type LPCSCROLLINFO as SCROLLINFO ptr

type WINDOWPLACEMENT
	length as UINT
	flags as UINT
	showCmd as UINT
	ptMinPosition as POINT
	ptMaxPosition as POINT
	rcNormalPosition as RECT
end type

type LPWINDOWPLACEMENT as WINDOWPLACEMENT ptr
type PWINDOWPLACEMENT as WINDOWPLACEMENT ptr

type MENUITEMTEMPLATEHEADER
	versionNumber as WORD
	offset as WORD
end type

type MENUITEMTEMPLATE
	mtOption as WORD
	mtID as WORD
	mtString as wstring * 1
end type

type MENUTEMPLATE as any
type MENUTEMPLATEA as any
type MENUTEMPLATEW as any
type LPMENUTEMPLATEA as any ptr
type LPMENUTEMPLATEW as any ptr
type LPMENUTEMPLATE as any ptr

type HELPINFO
	cbSize as UINT
	iContextType as integer
	iCtrlId as integer
	hItemHandle as HANDLE
	dwContextId as DWORD
	MousePos as POINT
end type

type LPHELPINFO as HELPINFO ptr
type MSGBOXCALLBACK as sub (byval as LPHELPINFO)

type MSGBOXPARAMSA
	cbSize as UINT
	hwndOwner as HWND
	hInstance as HINSTANCE
	lpszText as LPCSTR
	lpszCaption as LPCSTR
	dwStyle as DWORD
	lpszIcon as LPCSTR
	dwContextHelpId as DWORD
	lpfnMsgBoxCallback as MSGBOXCALLBACK
	dwLanguageId as DWORD
end type

type PMSGBOXPARAMSA as MSGBOXPARAMSA ptr
type LPMSGBOXPARAMSA as MSGBOXPARAMSA ptr

type MSGBOXPARAMSW
	cbSize as UINT
	hwndOwner as HWND
	hInstance as HINSTANCE
	lpszText as LPCWSTR
	lpszCaption as LPCWSTR
	dwStyle as DWORD
	lpszIcon as LPCWSTR
	dwContextHelpId as DWORD
	lpfnMsgBoxCallback as MSGBOXCALLBACK
	dwLanguageId as DWORD
end type

type PMSGBOXPARAMSW as MSGBOXPARAMSW ptr
type LPMSGBOXPARAMSW as MSGBOXPARAMSW ptr

type USEROBJECTFLAGS
	fInherit as BOOL
	fReserved as BOOL
	dwFlags as DWORD
end type

type FILTERKEYS
	cbSize as UINT
	dwFlags as DWORD
	iWaitMSec as DWORD
	iDelayMSec as DWORD
	iRepeatMSec as DWORD
	iBounceMSec as DWORD
end type

#ifndef UNICODE
type HIGHCONTRASTA
	cbSize as UINT
	dwFlags as DWORD
	lpszDefaultScheme as LPSTR
end type

type LPHIGHCONTRASTA as HIGHCONTRASTA ptr

#else ''UNICODE
type HIGHCONTRASTW
	cbSize as UINT
	dwFlags as DWORD
	lpszDefaultScheme as LPWSTR
end type

type LPHIGHCONTRASTW as HIGHCONTRASTW ptr
#endif ''UNICODE

#ifndef UNICODE
type ICONMETRICSA
	cbSize as UINT
	iHorzSpacing as integer
	iVertSpacing as integer
	iTitleWrap as integer
	lfFont as LOGFONTA
end type

type LPICONMETRICSA as ICONMETRICSA ptr

#else ''UNICODE
type ICONMETRICSW
	cbSize as UINT
	iHorzSpacing as integer
	iVertSpacing as integer
	iTitleWrap as integer
	lfFont as LOGFONTW
end type

type LPICONMETRICSW as ICONMETRICSW ptr
#endif ''UNICODE

type MINIMIZEDMETRICS
	cbSize as UINT
	iWidth as integer
	iHorzGap as integer
	iVertGap as integer
	iArrange as integer
end type

type LPMINIMIZEDMETRICS as MINIMIZEDMETRICS ptr

type MOUSEKEYS
	cbSize as UINT
	dwFlags as DWORD
	iMaxSpeed as DWORD
	iTimeToMaxSpeed as DWORD
	iCtrlSpeed as DWORD
	dwReserved1 as DWORD
	dwReserved2 as DWORD
end type

type LPMOUSEKEYS as MOUSEKEYS ptr

#ifndef UNICODE
type NONCLIENTMETRICSA
	cbSize as UINT
	iBorderWidth as integer
	iScrollWidth as integer
	iScrollHeight as integer
	iCaptionWidth as integer
	iCaptionHeight as integer
	lfCaptionFont as LOGFONTA
	iSmCaptionWidth as integer
	iSmCaptionHeight as integer
	lfSmCaptionFont as LOGFONTA
	iMenuWidth as integer
	iMenuHeight as integer
	lfMenuFont as LOGFONTA
	lfStatusFont as LOGFONTA
	lfMessageFont as LOGFONTA
end type

type LPNONCLIENTMETRICSA as NONCLIENTMETRICSA ptr

#else ''UNICODE
type NONCLIENTMETRICSW
	cbSize as UINT
	iBorderWidth as integer
	iScrollWidth as integer
	iScrollHeight as integer
	iCaptionWidth as integer
	iCaptionHeight as integer
	lfCaptionFont as LOGFONTW
	iSmCaptionWidth as integer
	iSmCaptionHeight as integer
	lfSmCaptionFont as LOGFONTW
	iMenuWidth as integer
	iMenuHeight as integer
	lfMenuFont as LOGFONTW
	lfStatusFont as LOGFONTW
	lfMessageFont as LOGFONTW
end type

type LPNONCLIENTMETRICSW as NONCLIENTMETRICSW ptr
#endif ''UNICODE

#ifndef UNICODE
type SERIALKEYSA
	cbSize as UINT
	dwFlags as DWORD
	lpszActivePort as LPSTR
	lpszPort as LPSTR
	iBaudRate as UINT
	iPortState as UINT
	iActive as UINT
end type

type LPSERIALKEYSA as SERIALKEYSA ptr

#else ''UNICODE
type SERIALKEYSW
	cbSize as UINT
	dwFlags as DWORD
	lpszActivePort as LPWSTR
	lpszPort as LPWSTR
	iBaudRate as UINT
	iPortState as UINT
	iActive as UINT
end type

type LPSERIALKEYSW as SERIALKEYSW ptr
#endif ''UNICODE

#ifndef UNICODE
type SOUNDSENTRYA
	cbSize as UINT
	dwFlags as DWORD
	iFSTextEffect as DWORD
	iFSTextEffectMSec as DWORD
	iFSTextEffectColorBits as DWORD
	iFSGrafEffect as DWORD
	iFSGrafEffectMSec as DWORD
	iFSGrafEffectColor as DWORD
	iWindowsEffect as DWORD
	iWindowsEffectMSec as DWORD
	lpszWindowsEffectDLL as LPSTR
	iWindowsEffectOrdinal as DWORD
end type

type LPSOUNDSENTRYA as SOUNDSENTRYA ptr

#else ''UNICODE
type SOUNDSENTRYW
	cbSize as UINT
	dwFlags as DWORD
	iFSTextEffect as DWORD
	iFSTextEffectMSec as DWORD
	iFSTextEffectColorBits as DWORD
	iFSGrafEffect as DWORD
	iFSGrafEffectMSec as DWORD
	iFSGrafEffectColor as DWORD
	iWindowsEffect as DWORD
	iWindowsEffectMSec as DWORD
	lpszWindowsEffectDLL as LPWSTR
	iWindowsEffectOrdinal as DWORD
end type

type LPSOUNDSENTRYW as SOUNDSENTRYW ptr
#endif ''UNICODE

type STICKYKEYS
	cbSize as DWORD
	dwFlags as DWORD
end type

type LPSTICKYKEYS as STICKYKEYS ptr

type TOGGLEKEYS
	cbSize as DWORD
	dwFlags as DWORD
end type

type MOUSEHOOKSTRUCT
	pt as POINT
	hwnd as HWND
	wHitTestCode as UINT
	dwExtraInfo as DWORD
end type

type LPMOUSEHOOKSTRUCT as MOUSEHOOKSTRUCT ptr
type PMOUSEHOOKSTRUCT as MOUSEHOOKSTRUCT ptr

type TRACKMOUSEEVENT
	cbSize as DWORD
	dwFlags as DWORD
	hwndTrack as HWND
	dwHoverTime as DWORD
end type

type LPTRACKMOUSEEVENT as TRACKMOUSEEVENT ptr

type TPMPARAMS
	cbSize as UINT
	rcExclude as RECT
end type

type LPTPMPARAMS as TPMPARAMS ptr

type EVENTMSG
	message as UINT
	paramL as UINT
	paramH as UINT
	time as DWORD
	hwnd as HWND
end type

type PEVENTMSGMSG as EVENTMSG ptr
type LPEVENTMSGMSG as EVENTMSG ptr
type PEVENTMSG as EVENTMSG ptr
type LPEVENTMSG as EVENTMSG ptr

type WINDOWPOS
	hwnd as HWND
	hwndInsertAfter as HWND
	x as integer
	y as integer
	cx as integer
	cy as integer
	flags as UINT
end type

type PWINDOWPOS as WINDOWPOS ptr
type LPWINDOWPOS as WINDOWPOS ptr

type NCCALCSIZE_PARAMS
	rgrc(0 to 3-1) as RECT
	lppos as PWINDOWPOS
end type

type LPNCCALCSIZE_PARAMS as NCCALCSIZE_PARAMS ptr

#ifndef UNICODE
type MDICREATESTRUCTA
	szClass as LPCSTR
	szTitle as LPCSTR
	hOwner as HANDLE
	x as integer
	y as integer
	cx as integer
	cy as integer
	style as DWORD
	lParam as LPARAM
end type

type LPMDICREATESTRUCTA as MDICREATESTRUCTA ptr

#else ''UNICODE
type MDICREATESTRUCTW
	szClass as LPCWSTR
	szTitle as LPCWSTR
	hOwner as HANDLE
	x as integer
	y as integer
	cx as integer
	cy as integer
	style as DWORD
	lParam as LPARAM
end type

type LPMDICREATESTRUCTW as MDICREATESTRUCTW ptr
#endif ''UNICODE

type MINMAXINFO
	ptReserved as POINT
	ptMaxSize as POINT
	ptMaxPosition as POINT
	ptMinTrackSize as POINT
	ptMaxTrackSize as POINT
end type

type PMINMAXINFO as MINMAXINFO ptr
type LPMINMAXINFO as MINMAXINFO ptr

type MDINEXTMENU
	hmenuIn as HMENU
	hmenuNext as HMENU
	hwndNext as HWND
end type

type PMDINEXTMENU as MDINEXTMENU ptr
type LPMDINEXTMENU as MDINEXTMENU ptr

type MEASUREITEMSTRUCT
	CtlType as UINT
	CtlID as UINT
	itemID as UINT
	itemWidth as UINT
	itemHeight as UINT
	itemData as DWORD
end type

type PMEASUREITEMSTRUCT as MEASUREITEMSTRUCT ptr
type LPMEASUREITEMSTRUCT as MEASUREITEMSTRUCT ptr

type DROPSTRUCT
	hwndSource as HWND
	hwndSink as HWND
	wFmt as DWORD
	dwData as DWORD
	ptDrop as POINT
	dwControlData as DWORD
end type

type PDROPSTRUCT as DROPSTRUCT ptr
type LPDROPSTRUCT as DROPSTRUCT ptr
type HELPPOLY as DWORD

#ifndef UNICODE
type MULTIKEYHELPA
	mkSize as DWORD
	mkKeylist as CHAR
	szKeyphrase as zstring * 1
end type

type PMULTIKEYHELPA as MULTIKEYHELPA ptr
type LPMULTIKEYHELPA as MULTIKEYHELPA ptr
#else ''UNICODE

type MULTIKEYHELPW
	mkSize as DWORD
	mkKeylist as WCHAR
	szKeyphrase as wstring * 1
end type

type PMULTIKEYHELPW as MULTIKEYHELPW ptr
type LPMULTIKEYHELPW as MULTIKEYHELPW ptr
#endif ''UNICODE

#ifndef UNICODE
type HELPWININFOA
	wStructSize as integer
	x as integer
	y as integer
	dx as integer
	dy as integer
	wMax as integer
	rgchMember as zstring * 2
end type

type PHELPWININFOA as HELPWININFOA ptr
type LPHELPWININFOA as HELPWININFOA ptr
#else ''UNICODE

type HELPWININFOW
	wStructSize as integer
	x as integer
	y as integer
	dx as integer
	dy as integer
	wMax as integer
	rgchMember as wstring * 2
end type

type PHELPWININFOW as HELPWININFOW ptr
type LPHELPWININFOW as HELPWININFOW ptr
#endif ''UNICODE

type STYLESTRUCT
	styleOld as DWORD
	styleNew as DWORD
end type

type LPSTYLESTRUCT as STYLESTRUCT ptr

type ALTTABINFO
	cbSize as DWORD
	cItems as integer
	cColumns as integer
	cRows as integer
	iColFocus as integer
	iRowFocus as integer
	cxItem as integer
	cyItem as integer
	ptStart as POINT
end type

type PALTTABINFO as ALTTABINFO ptr
type LPALTTABINFO as ALTTABINFO ptr

type COMBOBOXINFO
	cbSize as DWORD
	rcItem as RECT
	rcButton as RECT
	stateButton as DWORD
	hwndCombo as HWND
	hwndItem as HWND
	hwndList as HWND
end type

type PCOMBOBOXINFO as COMBOBOXINFO ptr
type LPCOMBOBOXINFO as COMBOBOXINFO ptr

type CURSORINFO
	cbSize as DWORD
	flags as DWORD
	hCursor as HCURSOR
	ptScreenPos as POINT
end type

type PCURSORINFO as CURSORINFO ptr
type LPCURSORINFO as CURSORINFO ptr

type MENUBARINFO
	cbSize as DWORD
	rcBar as RECT
	hMenu as HMENU
	hwndMenu as HWND
	fBarFocused:1 as BOOL
	fFocused:1 as BOOL
end type

type PMENUBARINFO as MENUBARINFO ptr

type MENUINFO
	cbSize as DWORD
	fMask as DWORD
	dwStyle as DWORD
	cyMax as UINT
	hbrBack as HBRUSH
	dwContextHelpID as DWORD
	dwMenuData as ULONG_PTR
end type

type LPMENUINFO as MENUINFO ptr
type LPCMENUINFO as MENUINFO ptr

#define CCHILDREN_SCROLLBAR 5

type SCROLLBARINFO
	cbSize as DWORD
	rcScrollBar as RECT
	dxyLineButton as integer
	xyThumbTop as integer
	xyThumbBottom as integer
	reserved as integer
	rgstate(0 to 5+1-1) as DWORD
end type

type PSCROLLBARINFO as SCROLLBARINFO ptr
type LPSCROLLBARINFO as SCROLLBARINFO ptr

#define CCHILDREN_TITLEBAR 5

type TITLEBARINFO
	cbSize as DWORD
	rcTitleBar as RECT
	rgstate(0 to 5+1-1) as DWORD
end type

type PTITLEBARINFO as TITLEBARINFO ptr
type LPTITLEBARINFO as TITLEBARINFO ptr

type WINDOWINFO
	cbSize as DWORD
	rcWindow as RECT
	rcClient as RECT
	dwStyle as DWORD
	dwExStyle as DWORD
	dwWindowStatus as DWORD
	cxWindowBorders as UINT
	cyWindowBorders as UINT
	atomWindowType as ATOM
	wCreatorVersion as WORD
end type

type PWINDOWINFO as WINDOWINFO ptr
type LPWINDOWINFO as WINDOWINFO ptr

type LASTINPUTINFO
	cbSize as UINT
	dwTime as DWORD
end type

type PLASTINPUTINFO as LASTINPUTINFO ptr

type MONITORINFO
	cbSize as DWORD
	rcMonitor as RECT
	rcWork as RECT
	dwFlags as DWORD
end type

type LPMONITORINFO as MONITORINFO ptr

#define CCHDEVICENAME 32

#ifndef UNICODE
type MONITORINFOEXA
	cbSize as DWORD
	rcMonitor as RECT
	rcWork as RECT
	dwFlags as DWORD
	szDevice as zstring * 32
end type

type LPMONITORINFOEXA as MONITORINFOEXA ptr

#else ''UNICODE
type MONITORINFOEXW
	cbSize as DWORD
	rcMonitor as RECT
	rcWork as RECT
	dwFlags as DWORD
	szDevice as wstring * 32
end type

type LPMONITORINFOEXW as MONITORINFOEXW ptr
#endif ''UNICODE

type KBDLLHOOKSTRUCT
	vkCode as DWORD
	scanCode as DWORD
	flags as DWORD
	time as DWORD
	dwExtraInfo as DWORD
end type

type LPKBDLLHOOKSTRUCT as KBDLLHOOKSTRUCT ptr
type PKBDLLHOOKSTRUCT as KBDLLHOOKSTRUCT ptr
type FLASHWINFO
	cbSize as UINT
	hwnd as HWND
	dwFlags as DWORD
	uCount as UINT
	dwTimeout as DWORD
end type

type PFLASHWINFO as FLASHWINFO ptr

type MOUSEMOVEPOINT
	x as integer
	y as integer
	time as DWORD
	dwExtraInfo as ULONG_PTR
end type

type PMOUSEMOVEPOINT as MOUSEMOVEPOINT ptr
type LPMOUSEMOVEPOINT as MOUSEMOVEPOINT ptr

type MOUSEINPUT
	dx as LONG
	dy as LONG
	mouseData as DWORD
	dwFlags as DWORD
	time as DWORD
	dwExtraInfo as ULONG_PTR
end type

type PMOUSEINPUT as MOUSEINPUT ptr

type KEYBDINPUT
	wVk as WORD
	wScan as WORD
	dwFlags as DWORD
	time as DWORD
	dwExtraInfo as ULONG_PTR
end type

type PKEYBDINPUT as KEYBDINPUT ptr

type HARDWAREINPUT
	uMsg as DWORD
	wParamL as WORD
	wParamH as WORD
end type

type PHARDWAREINPUT as HARDWAREINPUT ptr

type INPUT_
	type as DWORD
	union
		mi as MOUSEINPUT
		ki as KEYBDINPUT
		hi as HARDWAREINPUT
	end union
end type

type PINPUT as INPUT_ ptr
type LPINPUT as INPUT_ ptr

type BSMINFO
	cbSize as UINT
	hdesk as HDESK
	hwnd as HWND
	luid as LUID
end type 
type PBSMINFO as BSMINFO ptr

type HRAWINPUT__
	i as integer
end type

type HRAWINPUT as HRAWINPUT__ ptr

type RAWINPUTHEADER
	dwType as DWORD
	dwSize as DWORD
	hDevice as HANDLE
	wParam as WPARAM
end type

type PRAWINPUTHEADER as RAWINPUTHEADER ptr

type RAWMOUSE
	usFlags as USHORT
	union
		ulButtons as ULONG 
		type
			usButtonFlags as USHORT 
			usButtonData as USHORT
		end type
	end union
	ulRawButtons as ULONG
	lLastX as LONG
	lLastY as LONG
	ulExtraInformation as ULONG
end type

type PRAWMOUSE as RAWMOUSE ptr
type LPRAWMOUSE as RAWMOUSE ptr

type RAWKEYBOARD
	MakeCode as USHORT
	Flags as USHORT
	Reserved as USHORT
	VKey as USHORT
	Message as UINT
	ExtraInformation as ULONG
end type

type PRAWKEYBOARD as RAWKEYBOARD ptr
type LPRAWKEYBOARD as RAWKEYBOARD ptr

type RAWHID
	dwSizeHid as DWORD
	dwCount as DWORD
	bRawData as UBYTE
end type

type PRAWHID as RAWHID ptr
type LPRAWHID as RAWHID ptr

union RAWINPUT_data
	mouse as RAWMOUSE
	keyboard as RAWKEYBOARD
	hid as RAWHID
end union

type RAWINPUT
	header as RAWINPUTHEADER
	data as RAWINPUT_data
end type

type PRAWINPUT as RAWINPUT ptr
type LPRAWINPUT as RAWINPUT ptr

type RAWINPUTDEVICE
	usUsagePage as USHORT
	usUsage as USHORT
	dwFlags as DWORD
	hwndTarget as HWND
end type

type PRAWINPUTDEVICE as RAWINPUTDEVICE ptr
type LPRAWINPUTDEVICE as RAWINPUTDEVICE ptr
type PCRAWINPUTDEVICE as RAWINPUTDEVICE ptr

type RAWINPUTDEVICELIST
	hDevice as HANDLE
	dwType as DWORD
end type

type PRAWINPUTDEVICELIST as RAWINPUTDEVICELIST ptr

type GUITHREADINFO
	cbSize as DWORD
	flags as DWORD
	hwndActive as HWND
	hwndFocus as HWND
	hwndCapture as HWND
	hwndMenuOwner as HWND
	hwndMoveSize as HWND
	hwndCaret as HWND
	rcCaret as RECT
end type

type PGUITHREADINFO as GUITHREADINFO ptr

#define AnsiToOem CharToOemA
#define OemToAnsi OemToCharA
#define AnsiToOemBuff CharToOemBuffA
#define OemToAnsiBuff OemToCharBuffA
#define AnsiUpper CharUpperA
#define AnsiUpperBuff CharUpperBuffA
#define AnsiLower CharLowerA
#define AnsiLowerBuff CharLowerBuffA
#define AnsiNext CharNextA
#define AnsiPrev CharPrevA
#define MAKELPARAM(l,h) cint(MAKELONG(l,h))
#define MAKEWPARAM(l,h) cuint(MAKELONG(l,h))
#define MAKELRESULT(l,h) cint(MAKELONG(l,h))
#define POINTSTOPOINT(p,ps) p.x = LOWORD( *cptr(DWORD ptr, @ps) ) : p.y = HIWORD( *cptr(DWORD ptr, @ps) )
''''''' #define POINTTOPOINTS(p) ((POINTS)MAKELONG(p.x,p.y))

extern "windows" lib "user32"

declare function ActivateKeyboardLayout (byval as HKL, byval as UINT) as HKL
declare function AdjustWindowRect (byval as LPRECT, byval as DWORD, byval as BOOL) as BOOL
declare function AdjustWindowRectEx (byval as LPRECT, byval as DWORD, byval as BOOL, byval as DWORD) as BOOL
declare function AnimateWindow (byval as HWND, byval as DWORD, byval as DWORD) as BOOL
declare function AnyPopup () as BOOL
declare function ArrangeIconicWindows (byval as HWND) as UINT
declare function AttachThreadInput (byval as DWORD, byval as DWORD, byval as BOOL) as BOOL
declare function BeginDeferWindowPos (byval as integer) as HDWP
declare function BeginPaint (byval as HWND, byval as LPPAINTSTRUCT) as HDC
declare function BringWindowToTop (byval as HWND) as BOOL
declare function BroadcastSystemMessage (byval as DWORD, byval as LPDWORD, byval as UINT, byval as WPARAM, byval as LPARAM) as integer
declare function CallNextHookEx (byval as HHOOK, byval as integer, byval as WPARAM, byval as LPARAM) as LRESULT
declare function CascadeWindows (byval as HWND, byval as UINT, byval as LPCRECT, byval as UINT, byval as HWND ptr) as WORD
declare function ChangeClipboardChain (byval as HWND, byval as HWND) as BOOL
declare function CheckDlgButton (byval as HWND, byval as integer, byval as UINT) as BOOL
declare function CheckMenuItem (byval as HMENU, byval as UINT, byval as UINT) as DWORD
declare function CheckMenuRadioItem (byval as HMENU, byval as UINT, byval as UINT, byval as UINT, byval as UINT) as BOOL
declare function CheckRadioButton (byval as HWND, byval as integer, byval as integer, byval as integer) as BOOL
declare function ChildWindowFromPoint (byval as HWND, byval as POINT) as HWND
declare function ChildWindowFromPointEx (byval as HWND, byval as POINT, byval as UINT) as HWND
declare function ClientToScreen (byval as HWND, byval as LPPOINT) as BOOL
declare function ClipCursor (byval as LPCRECT) as BOOL
declare function CloseClipboard () as BOOL
declare function CloseDesktop (byval as HDESK) as BOOL
declare function CloseWindow (byval as HWND) as BOOL
declare function CloseWindowStation (byval as HWINSTA) as BOOL
declare function CopyIcon (byval as HICON) as HICON
declare function CopyImage (byval as HANDLE, byval as UINT, byval as integer, byval as integer, byval as UINT) as HANDLE
declare function CopyRect (byval as LPRECT, byval as LPCRECT) as BOOL
declare function CountClipboardFormats () as integer
declare function CreateCaret (byval as HWND, byval as HBITMAP, byval as integer, byval as integer) as BOOL
declare function CreateCursor (byval as HINSTANCE, byval as integer, byval as integer, byval as integer, byval as integer, byval as PCVOID, byval as PCVOID) as HCURSOR
declare function CreateIcon (byval as HINSTANCE, byval as integer, byval as integer, byval as UBYTE, byval as UBYTE, byval as UBYTE ptr, byval as UBYTE ptr) as HICON
declare function CreateIconFromResource (byval as PBYTE, byval as DWORD, byval as BOOL, byval as DWORD) as HICON
declare function CreateIconFromResourceEx (byval as PBYTE, byval as DWORD, byval as BOOL, byval as DWORD, byval as integer, byval as integer, byval as UINT) as HICON
declare function CreateIconIndirect (byval as PICONINFO) as HICON
declare function CreateMenu () as HMENU
declare function CreatePopupMenu () as HMENU
declare function DeferWindowPos (byval as HDWP, byval as HWND, byval as HWND, byval as integer, byval as integer, byval as integer, byval as integer, byval as UINT) as HDWP
declare function DefRawInputProc (byval as PRAWINPUT ptr, byval as INT_, byval as UINT) as LRESULT
declare function DeleteMenu (byval as HMENU, byval as UINT, byval as UINT) as BOOL
declare function DeregisterShellHookWindow (byval as HWND) as BOOL
declare function DestroyAcceleratorTable (byval as HACCEL) as BOOL
declare function DestroyCaret () as BOOL
declare function DestroyCursor (byval as HCURSOR) as BOOL
declare function DestroyIcon (byval as HICON) as BOOL
declare function DestroyMenu (byval as HMENU) as BOOL
declare function DestroyWindow (byval as HWND) as BOOL
declare function DragDetect (byval as HWND, byval as POINT) as BOOL
declare function DragObject (byval as HWND, byval as HWND, byval as UINT, byval as DWORD, byval as HCURSOR) as DWORD
declare function DrawAnimatedRects (byval as HWND, byval as integer, byval as LPCRECT, byval as LPCRECT) as BOOL
declare function DrawCaption (byval as HWND, byval as HDC, byval as LPCRECT, byval as UINT) as BOOL
declare function DrawEdge (byval as HDC, byval as LPRECT, byval as UINT, byval as UINT) as BOOL
declare function DrawFocusRect (byval as HDC, byval as LPCRECT) as BOOL
declare function DrawFrameControl (byval as HDC, byval as LPRECT, byval as UINT, byval as UINT) as BOOL
declare function DrawIcon (byval as HDC, byval as integer, byval as integer, byval as HICON) as BOOL
declare function DrawIconEx (byval as HDC, byval as integer, byval as integer, byval as HICON, byval as integer, byval as integer, byval as UINT, byval as HBRUSH, byval as UINT) as BOOL
declare function DrawMenuBar (byval as HWND) as BOOL
declare function EmptyClipboard () as BOOL
declare function EnableMenuItem (byval as HMENU, byval as UINT, byval as UINT) as BOOL
declare function EnableScrollBar (byval as HWND, byval as UINT, byval as UINT) as BOOL
declare function EnableWindow (byval as HWND, byval as BOOL) as BOOL
declare function EndDeferWindowPos (byval as HDWP) as BOOL
declare function EndDialog (byval as HWND, byval as integer) as BOOL
declare function EndMenu () as BOOL
declare function EndPaint (byval as HWND, byval as PAINTSTRUCT ptr) as BOOL
declare function EndTask (byval as HWND, byval as BOOL, byval as BOOL) as BOOL
declare function EnumChildWindows (byval as HWND, byval as ENUMWINDOWSPROC, byval as LPARAM) as BOOL
declare function EnumClipboardFormats (byval as UINT) as UINT
declare function EnumDesktopWindows (byval as HDESK, byval as ENUMWINDOWSPROC, byval as LPARAM) as BOOL
declare function EnumDisplayMonitors (byval as HDC, byval as LPCRECT, byval as MONITORENUMPROC, byval as LPARAM) as BOOL
declare function EnumThreadWindows (byval as DWORD, byval as WNDENUMPROC, byval as LPARAM) as BOOL
declare function EnumWindows (byval as WNDENUMPROC, byval as LPARAM) as BOOL
declare function EqualRect (byval as LPCRECT, byval as LPCRECT) as BOOL
declare function ExitWindowsEx (byval as UINT, byval as DWORD) as BOOL
declare function FlashWindow (byval as HWND, byval as BOOL) as BOOL
declare function FlashWindowEx (byval as PFLASHWINFO) as BOOL
declare function FrameRect (byval as HDC, byval as LPCRECT, byval as HBRUSH) as integer
declare function FrameRgn (byval as HDC, byval as HRGN, byval as HBRUSH, byval as integer, byval as integer) as BOOL
declare function GetActiveWindow () as HWND
declare function GetAncestor (byval as HWND, byval as UINT) as HWND
declare function GetAsyncKeyState (byval as integer) as SHORT
declare function GetCapture () as HWND
declare function GetCaretBlinkTime () as UINT
declare function GetCaretPos (byval as LPPOINT) as BOOL
declare function GetClassWord (byval as HWND, byval as integer) as WORD
declare function GetClientRect (byval as HWND, byval as LPRECT) as BOOL
declare function GetClipboardData (byval as UINT) as HANDLE
declare function GetClipboardOwner () as HWND
declare function GetClipboardSequenceNumber () as DWORD
declare function GetClipboardViewer () as HWND
declare function GetClipCursor (byval as LPRECT) as BOOL
declare function GetCursorPos (byval as LPPOINT) as BOOL
declare function GetDC (byval as HWND) as HDC
declare function GetDCEx (byval as HWND, byval as HRGN, byval as DWORD) as HDC
declare function GetDesktopWindow () as HWND
declare function GetDialogBaseUnits () as integer
declare function GetDlgCtrlID (byval as HWND) as integer
declare function GetDlgItem (byval as HWND, byval as integer) as HWND
declare function GetDlgItemInt (byval as HWND, byval as integer, byval as PBOOL, byval as BOOL) as UINT
declare function GetDoubleClickTime () as UINT
declare function GetFocus () as HWND
declare function GetForegroundWindow () as HWND
declare function GetGuiResources (byval as HANDLE, byval as DWORD) as DWORD
declare function GetIconInfo (byval as HICON, byval as PICONINFO) as BOOL
declare function GetInputState () as BOOL
declare function GetKBCodePage () as UINT
declare function GetKeyboardLayout (byval as DWORD) as HKL
declare function GetKeyboardLayoutList (byval as integer, byval as HKL ptr) as UINT
declare function GetKeyboardState (byval as PBYTE) as BOOL
declare function GetKeyboardType (byval as integer) as integer
declare function GetKeyState (byval as integer) as SHORT
declare function GetLastActivePopup (byval as HWND) as HWND
declare function GetMenu (byval as HWND) as HMENU
declare function GetMenuCheckMarkDimensions () as LONG
declare function GetMenuContextHelpId (byval as HMENU) as DWORD
declare function GetMenuDefaultItem (byval as HMENU, byval as UINT, byval as UINT) as UINT
declare function GetMenuItemCount (byval as HMENU) as integer
declare function GetMenuItemID (byval as HMENU, byval as integer) as UINT
declare function GetMenuItemRect (byval as HWND, byval as HMENU, byval as UINT, byval as LPRECT) as BOOL
declare function GetMenuState (byval as HMENU, byval as UINT, byval as UINT) as UINT
declare function GetMessageExtraInfo () as LONG
declare function GetMessagePos () as DWORD
declare function GetMessageTime () as LONG
declare function GetMouseMovePointsEx (byval as UINT, byval as LPMOUSEMOVEPOINT, byval as LPMOUSEMOVEPOINT, byval as integer, byval as DWORD) as integer
declare function GetNextDlgGroupItem (byval as HWND, byval as HWND, byval as BOOL) as HWND
declare function GetNextDlgTabItem (byval as HWND, byval as HWND, byval as BOOL) as HWND
declare function GetOpenClipboardWindow () as HWND
declare function GetParent (byval as HWND) as HWND
declare function GetPriorityClipboardFormat (byval as UINT ptr, byval as integer) as integer
declare function GetRawInputBuffer (byval as PRAWINPUT, byval as PUINT, byval as UINT) as UINT
declare function GetRawInputData (byval as HRAWINPUT, byval as UINT, byval as LPVOID, byval as PUINT, byval as UINT) as UINT
declare function GetRawInputDeviceList (byval as PRAWINPUTDEVICELIST, byval as PUINT, byval as UINT) as UINT
declare function GetRegisteredRawInputDevices (byval as PRAWINPUTDEVICE, byval as PUINT, byval as UINT) as UINT
declare function GetQueueStatus (byval as UINT) as DWORD
declare function GetScrollInfo (byval as HWND, byval as integer, byval as LPSCROLLINFO) as BOOL
declare function GetScrollPos (byval as HWND, byval as integer) as integer
declare function GetScrollRange (byval as HWND, byval as integer, byval as LPINT, byval as LPINT) as BOOL
declare function GetShellWindow () as HWND
declare function GetSubMenu (byval as HMENU, byval as integer) as HMENU
declare function GetSysColor (byval as integer) as DWORD
declare function GetSysColorBrush (byval as integer) as HBRUSH
declare function GetSystemMenu (byval as HWND, byval as BOOL) as HMENU
declare function GetSystemMetrics (byval as integer) as integer
declare function GetThreadDesktop (byval as DWORD) as HDESK
declare function GetTopWindow (byval as HWND) as HWND
declare function GetUpdateRect (byval as HWND, byval as LPRECT, byval as BOOL) as BOOL
declare function GetUpdateRgn (byval as HWND, byval as HRGN, byval as BOOL) as integer
declare function GetUserObjectSecurity (byval as HANDLE, byval as PSECURITY_INFORMATION, byval as PSECURITY_DESCRIPTOR, byval as DWORD, byval as PDWORD) as BOOL
declare function GetWindow (byval as HWND, byval as UINT) as HWND
declare function GetWindowContextHelpId (byval as HWND) as DWORD
declare function GetWindowDC (byval as HWND) as HDC
#ifndef GetWindowExtEx
declare function GetWindowExtEx (byval as HDC, byval as LPSIZE) as BOOL
#endif
declare function GetWindowPlacement (byval as HWND, byval as WINDOWPLACEMENT ptr) as BOOL
declare function GetWindowRect (byval as HWND, byval as LPRECT) as BOOL
declare function GetWindowRgn (byval as HWND, byval as HRGN) as integer
declare function GetWindowWord (byval as HWND, byval as integer) as WORD
declare function GetComboBoxInfo (byval as HWND, byval as PCOMBOBOXINFO) as BOOL
declare function GetCursorInfo (byval as PCURSORINFO) as BOOL
declare function GetLastInputInfo (byval as PLASTINPUTINFO) as BOOL
declare function GetListBoxInfo (byval as HWND) as DWORD
declare function GetMenuBarInfo (byval as HWND, byval as LONG, byval as LONG, byval as PMENUBARINFO) as BOOL
declare function GetMenuInfo (byval as HMENU, byval as LPMENUINFO) as BOOL
declare function GetProcessDefaultLayout (byval as DWORD ptr) as BOOL
declare function GetScrollBarInfo (byval as HWND, byval as LONG, byval as PSCROLLBARINFO) as BOOL
declare function GetTitleBarInfo (byval as HWND, byval as PTITLEBARINFO) as BOOL
declare function GetWindowInfo (byval as HWND, byval as PWINDOWINFO) as BOOL
declare function HideCaret (byval as HWND) as BOOL
declare function HiliteMenuItem (byval as HWND, byval as HMENU, byval as UINT, byval as UINT) as BOOL
declare function InflateRect (byval as LPRECT, byval as integer, byval as integer) as BOOL
declare function InSendMessage () as BOOL
declare function InSendMessageEx (byval as LPVOID) as DWORD
declare function InternalGetWindowText (byval as HWND, byval as LPWSTR, byval as INT_) as INT_
declare function IntersectRect (byval as LPRECT, byval as LPCRECT, byval as LPCRECT) as BOOL
declare function InvalidateRect (byval as HWND, byval as LPCRECT, byval as BOOL) as BOOL
declare function InvalidateRgn (byval as HWND, byval as HRGN, byval as BOOL) as BOOL
declare function InvertRect (byval as HDC, byval as LPCRECT) as BOOL
declare function IsChild (byval as HWND, byval as HWND) as BOOL
declare function IsClipboardFormatAvailable (byval as UINT) as BOOL
declare function IsDlgButtonChecked (byval as HWND, byval as integer) as UINT
declare function IsGUIThread (byval as BOOL) as BOOL
declare function IsHungAppWindow (byval as HWND) as BOOL
declare function IsIconic (byval as HWND) as BOOL
declare function IsMenu (byval as HMENU) as BOOL
declare function IsRectEmpty (byval as LPCRECT) as BOOL
declare function IsWindow (byval as HWND) as BOOL
declare function IsWindowEnabled (byval as HWND) as BOOL
declare function IsWindowUnicode (byval as HWND) as BOOL
declare function IsWindowVisible (byval as HWND) as BOOL
declare function IsWinEventHookInstalled (byval as DWORD) as BOOL
declare function IsZoomed (byval as HWND) as BOOL
declare sub keybd_event (byval as UBYTE, byval as UBYTE, byval as DWORD, byval as DWORD)
declare function KillTimer (byval as HWND, byval as UINT) as BOOL
declare function LockWindowUpdate (byval as HWND) as BOOL
declare function LockWorkStation () as BOOL
declare function LookupIconIdFromDirectory (byval as PBYTE, byval as BOOL) as integer
declare function LookupIconIdFromDirectoryEx (byval as PBYTE, byval as BOOL, byval as integer, byval as integer, byval as UINT) as integer
declare function MapDialogRect (byval as HWND, byval as LPRECT) as BOOL
declare function MapWindowPoints (byval as HWND, byval as HWND, byval as LPPOINT, byval as UINT) as integer
declare function MenuItemFromPoint (byval as HWND, byval as HMENU, byval as POINT) as integer
declare function MessageBeep (byval as UINT) as BOOL
declare function MonitorFromPoint (byval as POINT, byval as DWORD) as HMONITOR
declare function MonitorFromRect (byval as LPCRECT, byval as DWORD) as HMONITOR
declare function MonitorFromWindow (byval as HWND, byval as DWORD) as HMONITOR
declare sub mouse_event (byval as DWORD, byval as DWORD, byval as DWORD, byval as DWORD, byval as ULONG_PTR)
declare function MoveWindow (byval as HWND, byval as integer, byval as integer, byval as integer, byval as integer, byval as BOOL) as BOOL
declare function MsgWaitForMultipleObjects (byval as DWORD, byval as HANDLE ptr, byval as BOOL, byval as DWORD, byval as DWORD) as DWORD
declare function MsgWaitForMultipleObjectsEx (byval as DWORD, byval as HANDLE ptr, byval as DWORD, byval as DWORD, byval as DWORD) as DWORD
declare function OemKeyScan (byval as WORD) as DWORD
declare function OffsetRect (byval as LPRECT, byval as integer, byval as integer) as BOOL
declare function OpenClipboard (byval as HWND) as BOOL
declare function OpenIcon (byval as HWND) as BOOL
declare function OpenInputDesktop (byval as DWORD, byval as BOOL, byval as DWORD) as HDESK
declare function PaintDesktop (byval as HDC) as BOOL
declare sub PostQuitMessage (byval as integer)
declare function PrintWindow (byval as HWND, byval as HDC, byval as UINT) as BOOL
declare function PtInRect (byval as LPCRECT, byval as POINT) as BOOL
declare function RealChildWindowFromPoint (byval as HWND, byval as POINT) as HWND
declare function RedrawWindow (byval as HWND, byval as LPCRECT, byval as HRGN, byval as UINT) as BOOL
declare function RegisterHotKey (byval as HWND, byval as integer, byval as UINT, byval as UINT) as BOOL
declare function RegisterRawInputDevices (byval as PCRAWINPUTDEVICE, byval as UINT, byval as UINT) as BOOL
declare function ReleaseCapture () as BOOL
declare function ReleaseDC (byval as HWND, byval as HDC) as integer
declare function RemoveMenu (byval as HMENU, byval as UINT, byval as UINT) as BOOL
declare function ReplyMessage (byval as LRESULT) as BOOL
declare function ScreenToClient (byval as HWND, byval as LPPOINT) as BOOL
declare function ScrollDC (byval as HDC, byval as integer, byval as integer, byval as LPCRECT, byval as LPCRECT, byval as HRGN, byval as LPRECT) as BOOL
declare function ScrollWindow (byval as HWND, byval as integer, byval as integer, byval as LPCRECT, byval as LPCRECT) as BOOL
declare function ScrollWindowEx (byval as HWND, byval as integer, byval as integer, byval as LPCRECT, byval as LPCRECT, byval as HRGN, byval as LPRECT, byval as UINT) as integer
declare function SendInput (byval as UINT, byval as LPINPUT, byval as integer) as UINT
declare function SetActiveWindow (byval as HWND) as HWND
declare function SetCapture (byval hWnd as HWND) as HWND
declare function SetCaretBlinkTime (byval as UINT) as BOOL
declare function SetCaretPos (byval as integer, byval as integer) as BOOL
declare function SetClassWord (byval as HWND, byval as integer, byval as WORD) as WORD
declare function SetClipboardData (byval as UINT, byval as HANDLE) as HANDLE
declare function SetClipboardViewer (byval as HWND) as HWND
declare function SetCursor (byval as HCURSOR) as HCURSOR
declare function SetCursorPos (byval as integer, byval as integer) as BOOL
declare sub SetDebugErrorLevel (byval as DWORD)
declare function SetDlgItemInt (byval as HWND, byval as integer, byval as UINT, byval as BOOL) as BOOL
declare function SetDoubleClickTime (byval as UINT) as BOOL
declare function SetFocus (byval as HWND) as HWND
declare function SetForegroundWindow (byval as HWND) as BOOL
declare function SetKeyboardState (byval as PBYTE) as BOOL
declare function SetMenu (byval as HWND, byval as HMENU) as BOOL
declare function SetMenuContextHelpId (byval as HMENU, byval as DWORD) as BOOL
declare function SetMenuDefaultItem (byval as HMENU, byval as UINT, byval as UINT) as BOOL
declare function SetMenuInfo (byval as HMENU, byval as LPCMENUINFO) as BOOL
declare function SetMenuItemBitmaps (byval as HMENU, byval as UINT, byval as UINT, byval as HBITMAP, byval as HBITMAP) as BOOL
declare function SetMessageExtraInfo (byval as LPARAM) as LPARAM
declare function SetMessageQueue (byval as integer) as BOOL
declare function SetParent (byval as HWND, byval as HWND) as HWND
declare function SetProcessDefaultLayout (byval as DWORD) as BOOL
declare function SetProcessWindowStation (byval as HWINSTA) as BOOL
declare function SetRect (byval as LPRECT, byval as integer, byval as integer, byval as integer, byval as integer) as BOOL
declare function SetRectEmpty (byval as LPRECT) as BOOL
declare function SetScrollInfo (byval as HWND, byval as integer, byval as LPCSCROLLINFO, byval as BOOL) as integer
declare function SetScrollPos (byval as HWND, byval as integer, byval as integer, byval as BOOL) as integer
declare function SetScrollRange (byval as HWND, byval as integer, byval as integer, byval as integer, byval as BOOL) as BOOL
declare function SetSysColors (byval as integer, byval as INT_ ptr, byval as COLORREF ptr) as BOOL
declare function SetSystemCursor (byval as HCURSOR, byval as DWORD) as BOOL
declare function SetThreadDesktop (byval as HDESK) as BOOL
declare function SetTimer (byval as HWND, byval as UINT, byval as UINT, byval as TIMERPROC) as UINT
declare function SetUserObjectSecurity (byval as HANDLE, byval as PSECURITY_INFORMATION, byval as PSECURITY_DESCRIPTOR) as BOOL
declare function SetWindowContextHelpId (byval as HWND, byval as DWORD) as BOOL
declare function SetWindowPlacement (byval hWnd as HWND, byval as WINDOWPLACEMENT ptr) as BOOL
declare function SetWindowPos (byval as HWND, byval as HWND, byval as integer, byval as integer, byval as integer, byval as integer, byval as UINT) as BOOL
declare function SetWindowRgn (byval as HWND, byval as HRGN, byval as BOOL) as integer
declare function SetWindowWord (byval as HWND, byval as integer, byval as WORD) as WORD
declare function ShowCaret (byval as HWND) as BOOL
declare function ShowCursor (byval as BOOL) as integer
declare function ShowOwnedPopups (byval as HWND, byval as BOOL) as BOOL
declare function ShowScrollBar (byval as HWND, byval as integer, byval as BOOL) as BOOL
declare function ShowWindow (byval as HWND, byval as integer) as BOOL
declare function ShowWindowAsync (byval as HWND, byval as integer) as BOOL
declare function SubtractRect (byval as LPRECT, byval as LPCRECT, byval as LPCRECT) as BOOL
declare function SwapMouseButton (byval as BOOL) as BOOL
declare function SwitchDesktop (byval as HDESK) as BOOL
declare sub SwitchToThisWindow (byval as HWND, byval as BOOL)
declare function TileWindows (byval as HWND, byval as UINT, byval as LPCRECT, byval as UINT, byval as HWND ptr) as WORD
declare function ToAscii_ alias "ToAscii" (byval as UINT, byval as UINT, byval as PBYTE, byval as LPWORD, byval as UINT) as integer
declare function ToAsciiEx (byval as UINT, byval as UINT, byval as PBYTE, byval as LPWORD, byval as UINT, byval as HKL) as integer
declare function ToUnicode (byval as UINT, byval as UINT, byval as PBYTE, byval as LPWSTR, byval as integer, byval as UINT) as integer
declare function ToUnicodeEx (byval as UINT, byval as UINT, byval as PBYTE, byval as LPWSTR, byval as integer, byval as UINT, byval as HKL) as integer
declare function TrackMouseEvent (byval as LPTRACKMOUSEEVENT) as BOOL
declare function TrackPopupMenu (byval as HMENU, byval as UINT, byval as integer, byval as integer, byval as integer, byval as HWND, byval as LPCRECT) as BOOL
declare function TrackPopupMenuEx (byval as HMENU, byval as UINT, byval as integer, byval as integer, byval as HWND, byval as LPTPMPARAMS) as BOOL
declare function TranslateMDISysAccel (byval as HWND, byval as LPMSG) as BOOL
declare function TranslateMessage (byval as MSG ptr) as BOOL
declare function UnhookWindowsHook (byval as integer, byval as HOOKPROC) as BOOL
declare function UnhookWindowsHookEx (byval as HHOOK) as BOOL
declare function UnionRect (byval as LPRECT, byval as LPCRECT, byval as LPCRECT) as BOOL
declare function UnloadKeyboardLayout (byval as HKL) as BOOL
declare function UnregisterDeviceNotification (byval as HANDLE) as BOOL
declare function UnregisterHotKey (byval as HWND, byval as integer) as BOOL
declare function UpdateWindow (byval as HWND) as BOOL
declare function UserHandleGrantAccess (byval as HANDLE, byval as HANDLE, byval as BOOL) as BOOL
declare function ValidateRect (byval as HWND, byval as LPCRECT) as BOOL
declare function ValidateRgn (byval as HWND, byval as HRGN) as BOOL
declare function WaitForInputIdle (byval as HANDLE, byval as DWORD) as DWORD
declare function WaitMessage () as BOOL
declare function WindowFromDC (byval hDC as HDC) as HWND
declare function WindowFromPoint (byval as POINT) as HWND
declare function WinExec (byval as LPCSTR, byval as UINT) as UINT
declare function AllowSetForegroundWindow (byval as DWORD) as BOOL
declare function LockSetForegroundWindow (byval as UINT) as BOOL
declare function SetLayeredWindowAttributes (byval as HWND, byval as COLORREF, byval as UBYTE, byval as DWORD) as BOOL
declare function UpdateLayeredWindow (byval as HWND, byval as HDC, byval as POINT ptr, byval as SIZE ptr, byval as HDC, byval as POINT ptr, byval as COLORREF, byval as BLENDFUNCTION ptr, byval as DWORD) as BOOL
declare function GetLayeredWindowAttributes (byval as HWND, byval as COLORREF ptr, byval as UBYTE ptr, byval as DWORD ptr) as BOOL

#ifdef UNICODE
type WNDCLASS as WNDCLASSW
type LPWNDCLASS as WNDCLASSW ptr
type PWNDCLASS as WNDCLASSW ptr
type WNDCLASSEX as WNDCLASSEXW
type LPWNDCLASSEX as WNDCLASSEXW ptr
type PWNDCLASSEX as WNDCLASSEXW ptr
type MENUITEMINFO as MENUITEMINFOW
type LPMENUITEMINFO as MENUITEMINFOW ptr
type LPCMENUITEMINFO as LPCMENUITEMINFOW
type MSGBOXPARAMS as MSGBOXPARAMSW
type PMSGBOXPARAMS as MSGBOXPARAMSW ptr
type LPMSGBOXPARAMS as MSGBOXPARAMSW ptr
type HIGHCONTRAST as HIGHCONTRASTW
type LPHIGHCONTRAST as HIGHCONTRASTW ptr
type SERIALKEYS as SERIALKEYSW
type LPSERIALKEYS as SERIALKEYSW ptr
type SOUNDSENTRY as SOUNDSENTRYW
type LPSOUNDSENTRY as SOUNDSENTRYW ptr
type CREATESTRUCT as CREATESTRUCTW
type LPCREATESTRUCT as CREATESTRUCTW ptr
type CBT_CREATEWND as CBT_CREATEWNDW
type LPCBT_CREATEWND as CBT_CREATEWNDW ptr
type MDICREATESTRUCT as MDICREATESTRUCTW
type LPMDICREATESTRUCT as MDICREATESTRUCTW ptr
type MULTIKEYHELP as MULTIKEYHELPW
type PMULTIKEYHELP as MULTIKEYHELPW ptr
type LPMULTIKEYHELP as MULTIKEYHELPW ptr
type MONITORINFOEX as MONITORINFOEXW
type LPMONITORINFOEX as MONITORINFOEXW ptr
type ICONMETRICS as ICONMETRICSW
type LPICONMETRICS as ICONMETRICSW ptr
type NONCLIENTMETRICS as NONCLIENTMETRICSW
type LPNONCLIENTMETRICS as NONCLIENTMETRICSW ptr

#define EDITWORDBREAKPROC EDITWORDBREAKPROCW
#define PROPENUMPROC PROPENUMPROCW
#define PROPENUMPROCEX PROPENUMPROCEXW
#define DESKTOPENUMPROC DESKTOPENUMPROCW
#define WINSTAENUMPROC WINSTAENUMPROCW
#define PROPENUMPROC PROPENUMPROCW
#define PROPENUMPROCEX PROPENUMPROCEXW
#define MAKEINTRESOURCE MAKEINTRESOURCEW

declare function AppendMenu alias "AppendMenuW" (byval as HMENU, byval as UINT, byval as UINT_PTR, byval as LPCWSTR) as BOOL
declare function BroadcastSystemMessageW alias "BroadcastSystemMessageW" (byval as DWORD, byval as LPDWORD, byval as UINT, byval as WPARAM, byval as LPARAM) as integer
declare function BroadcastSystemMessageEx alias "BroadcastSystemMessageExW" (byval as DWORD, byval as LPDWORD, byval as UINT, byval as WPARAM, byval as LPARAM, byval as PBSMINFO) as integer
declare function CallMsgFilter alias "CallMsgFilterW" (byval as LPMSG, byval as INT_) as BOOL
declare function CallWindowProc alias "CallWindowProcW" (byval as WNDPROC, byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function ChangeDisplaySettings alias "ChangeDisplaySettingsW" (byval as PDEVMODEW, byval as DWORD) as LONG
declare function ChangeDisplaySettingsEx alias "ChangeDisplaySettingsExW" (byval as LPCWSTR, byval as LPDEVMODEW, byval as HWND, byval as DWORD, byval as LPVOID) as LONG
declare function ChangeMenu alias "ChangeMenuW" (byval as HMENU, byval as UINT, byval as LPCWSTR, byval as UINT, byval as UINT) as BOOL
declare function CharLower alias "CharLowerW" (byval as LPWSTR) as LPWSTR
declare function CharLowerBuff alias "CharLowerBuffW" (byval as LPWSTR, byval as DWORD) as DWORD
declare function CharNext alias "CharNextW" (byval as LPCWSTR) as LPWSTR
declare function CharNextEx alias "CharNextExW" (byval as WORD, byval as LPCWSTR, byval as DWORD) as LPWSTR
declare function CharPrev alias "CharPrevW" (byval as LPCWSTR, byval as LPCWSTR) as LPWSTR
declare function CharPrevEx alias "CharPrevExW" (byval as WORD, byval as LPCWSTR, byval as LPCWSTR, byval as DWORD) as LPWSTR
declare function CharToOem alias "CharToOemW" (byval as LPCWSTR, byval as LPSTR) as BOOL
declare function CharToOemBuff alias "CharToOemBuffW" (byval as LPCWSTR, byval as LPSTR, byval as DWORD) as BOOL
declare function CharUpper alias "CharUpperW" (byval as LPWSTR) as LPWSTR
declare function CharUpperBuff alias "CharUpperBuffW" (byval as LPWSTR, byval as DWORD) as DWORD
declare function CopyAcceleratorTable alias "CopyAcceleratorTableW" (byval as HACCEL, byval as LPACCEL, byval as integer) as integer
declare function CreateAcceleratorTable alias "CreateAcceleratorTableW" (byval as LPACCEL, byval as integer) as HACCEL
declare function CreateDesktop alias "CreateDesktopW" (byval as LPCWSTR, byval as LPCWSTR, byval as LPDEVMODEW, byval as DWORD, byval as ACCESS_MASK, byval as LPSECURITY_ATTRIBUTES) as HDESK
declare function CreateDialogIndirectParam alias "CreateDialogIndirectParamW" (byval as HINSTANCE, byval as LPCDLGTEMPLATE, byval as HWND, byval as DLGPROC, byval as LPARAM) as HWND
declare function CreateDialogParam alias "CreateDialogParamW" (byval as HINSTANCE, byval as LPCWSTR, byval as HWND, byval as DLGPROC, byval as LPARAM) as HWND
declare function CreateMDIWindow alias "CreateMDIWindowW" (byval as LPCWSTR, byval as LPCWSTR, byval as DWORD, byval as integer, byval as integer, byval as integer, byval as integer, byval as HWND, byval as HINSTANCE, byval as LPARAM) as HWND
declare function CreateWindowEx alias "CreateWindowExW" (byval as DWORD, byval as LPCWSTR, byval as LPCWSTR, byval as DWORD, byval as integer, byval as integer, byval as integer, byval as integer, byval as HWND, byval as HMENU, byval as HINSTANCE, byval as LPVOID) as HWND
declare function CreateWindowStation alias "CreateWindowStationW" (byval as LPWSTR, byval as DWORD, byval as DWORD, byval as LPSECURITY_ATTRIBUTES) as HWINSTA
declare function DefDlgProc alias "DefDlgProcW" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function DefFrameProc alias "DefFrameProcW" (byval as HWND, byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function DefMDIChildProc alias "DefMDIChildProcW" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function DefWindowProc alias "DefWindowProcW" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function DialogBoxIndirectParam alias "DialogBoxIndirectParamW" (byval as HINSTANCE, byval as LPCDLGTEMPLATE, byval as HWND, byval as DLGPROC, byval as LPARAM) as integer
declare function DialogBoxParam alias "DialogBoxParamW" (byval as HINSTANCE, byval as LPCWSTR, byval as HWND, byval as DLGPROC, byval as LPARAM) as integer
declare function DispatchMessage alias "DispatchMessageW" (byval as MSG ptr) as LONG
declare function DlgDirList alias "DlgDirListW" (byval as HWND, byval as LPWSTR, byval as integer, byval as integer, byval as UINT) as integer
declare function DlgDirListComboBox alias "DlgDirListComboBoxW" (byval as HWND, byval as LPWSTR, byval as integer, byval as integer, byval as UINT) as integer
declare function DlgDirSelectComboBoxEx alias "DlgDirSelectComboBoxExW" (byval as HWND, byval as LPWSTR, byval as integer, byval as integer) as BOOL
declare function DlgDirSelectEx alias "DlgDirSelectExW" (byval as HWND, byval as LPWSTR, byval as integer, byval as integer) as BOOL
declare function DrawState alias "DrawStateW" (byval as HDC, byval as HBRUSH, byval as DRAWSTATEPROC, byval as LPARAM, byval as WPARAM, byval as integer, byval as integer, byval as integer, byval as integer, byval as UINT) as BOOL
declare function DrawText alias "DrawTextW" (byval as HDC, byval as LPCWSTR, byval as integer, byval as LPRECT, byval as UINT) as integer
declare function DrawTextEx alias "DrawTextExW" (byval as HDC, byval as LPWSTR, byval as integer, byval as LPRECT, byval as UINT, byval as LPDRAWTEXTPARAMS) as integer
declare function EnumDesktops alias "EnumDesktopsW" (byval as HWINSTA, byval as DESKTOPENUMPROCW, byval as LPARAM) as BOOL
declare function EnumDisplaySettings alias "EnumDisplaySettingsW" (byval as LPCWSTR, byval as DWORD, byval as PDEVMODEW) as BOOL
declare function EnumDisplaySettingsEx alias "EnumDisplaySettingsExW" (byval as LPCWSTR, byval as DWORD, byval as LPDEVMODEW, byval as DWORD) as BOOL
declare function EnumDisplayDevices alias "EnumDisplayDevicesW" (byval as LPCWSTR, byval as DWORD, byval as PDISPLAY_DEVICEW, byval as DWORD) as BOOL
declare function EnumProps alias "EnumPropsW" (byval as HWND, byval as PROPENUMPROCW) as integer
declare function EnumPropsEx alias "EnumPropsExW" (byval as HWND, byval as PROPENUMPROCEXW, byval as LPARAM) as integer
declare function EnumWindowStations alias "EnumWindowStationsW" (byval as WINSTAENUMPROCW, byval as LPARAM) as BOOL
declare function FindWindowEx alias "FindWindowExW" (byval as HWND, byval as HWND, byval as LPCWSTR, byval as LPCWSTR) as HWND
declare function FindWindow alias "FindWindowW" (byval as LPCWSTR, byval as LPCWSTR) as HWND
declare function GetClassInfo alias "GetClassInfoW" (byval as HINSTANCE, byval as LPCWSTR, byval as LPWNDCLASSW) as BOOL
declare function GetClassInfoEx alias "GetClassInfoExW" (byval as HINSTANCE, byval as LPCWSTR, byval as LPWNDCLASSEXW) as BOOL
declare function GetClassLong alias "GetClassLongW" (byval as HWND, byval as integer) as DWORD
declare function GetClassName alias "GetClassNameW" (byval as HWND, byval as LPWSTR, byval as integer) as integer
declare function GetClipboardFormatName alias "GetClipboardFormatNameW" (byval as UINT, byval as LPWSTR, byval as integer) as integer
declare function GetDlgItemText alias "GetDlgItemTextW" (byval as HWND, byval as integer, byval as LPWSTR, byval as integer) as UINT
declare function GetKeyboardLayoutName alias "GetKeyboardLayoutNameW" (byval as LPWSTR) as BOOL
declare function GetKeyNameText alias "GetKeyNameTextW" (byval as LONG, byval as LPWSTR, byval as integer) as integer
declare function GetMenuItemInfo alias "GetMenuItemInfoW" (byval as HMENU, byval as UINT, byval as BOOL, byval as LPMENUITEMINFOW) as BOOL
declare function GetMenuString alias "GetMenuStringW" (byval as HMENU, byval as UINT, byval as LPWSTR, byval as integer, byval as UINT) as integer
declare function GetMessage alias "GetMessageW" (byval as LPMSG, byval as HWND, byval as UINT, byval as UINT) as BOOL
declare function GetProp alias "GetPropW" (byval as HWND, byval as LPCWSTR) as HANDLE
declare function GetRawInputDeviceInfo alias "GetRawInputDeviceInfoW" (byval as HANDLE, byval as UINT, byval as LPVOID, byval as PUINT) as UINT
declare function GetTabbedTextExtent alias "GetTabbedTextExtentW" (byval as HDC, byval as LPCWSTR, byval as integer, byval as integer, byval as LPINT) as DWORD
declare function GetWindowLong alias "GetWindowLongW" (byval as HWND, byval as integer) as LONG
declare function GetUserObjectInformation alias "GetUserObjectInformationW" (byval as HANDLE, byval as integer, byval as PVOID, byval as DWORD, byval as PDWORD) as BOOL
declare function GetWindowTextLength alias "GetWindowTextLengthW" (byval as HWND) as integer
declare function GetWindowText alias "GetWindowTextW" (byval as HWND, byval as LPWSTR, byval as integer) as integer
declare function GetAltTabInfo alias "GetAltTabInfoW" (byval as HWND, byval as integer, byval as PALTTABINFO, byval as LPWSTR, byval as UINT) as BOOL
declare function GetMonitorInfo alias "GetMonitorInfoW" (byval as HMONITOR, byval as LPMONITORINFO) as BOOL
declare function GetWindowModuleFileName alias "GetWindowModuleFileNameW" (byval as HWND, byval as LPWSTR, byval as UINT) as UINT
declare function GrayString alias "GrayStringW" (byval as HDC, byval as HBRUSH, byval as GRAYSTRINGPROC, byval as LPARAM, byval as integer, byval as integer, byval as integer, byval as integer, byval as integer) as BOOL
declare function InsertMenu alias "InsertMenuW" (byval as HMENU, byval as UINT, byval as UINT, byval as UINT, byval as LPCWSTR) as BOOL
declare function InsertMenuItem alias "InsertMenuItemW" (byval as HMENU, byval as UINT, byval as BOOL, byval as LPCMENUITEMINFOW) as BOOL
declare function IsCharAlphaNumeric alias "IsCharAlphaNumericW" (byval as WCHAR) as BOOL
declare function IsCharAlpha alias "IsCharAlphaW" (byval as WCHAR) as BOOL
declare function IsCharLower alias "IsCharLowerW" (byval as WCHAR) as BOOL
declare function IsCharUpper alias "IsCharUpperW" (byval as WCHAR) as BOOL
declare function IsDialogMessage alias "IsDialogMessageW" (byval as HWND, byval as LPMSG) as BOOL
declare function LoadAccelerators alias "LoadAcceleratorsW" (byval as HINSTANCE, byval as LPCWSTR) as HACCEL
declare function LoadBitmap alias "LoadBitmapW" (byval as HINSTANCE, byval as LPCWSTR) as HBITMAP
declare function LoadCursorFromFile alias "LoadCursorFromFileW" (byval as LPCWSTR) as HCURSOR
declare function LoadCursor alias "LoadCursorW" (byval as HINSTANCE, byval as LPCWSTR) as HCURSOR
declare function LoadIcon alias "LoadIconW" (byval as HINSTANCE, byval as LPCWSTR) as HICON
declare function LoadImage alias "LoadImageW" (byval as HINSTANCE, byval as LPCWSTR, byval as UINT, byval as integer, byval as integer, byval as UINT) as HANDLE
declare function LoadKeyboardLayout alias "LoadKeyboardLayoutW" (byval as LPCWSTR, byval as UINT) as HKL
declare function LoadMenuIndirect alias "LoadMenuIndirectW" (byval as MENUTEMPLATE ptr) as HMENU
declare function LoadMenu alias "LoadMenuW" (byval as HINSTANCE, byval as LPCWSTR) as HMENU
declare function LoadString alias "LoadStringW" (byval as HINSTANCE, byval as UINT, byval as LPWSTR, byval as integer) as integer
declare function MapVirtualKeyEx alias "MapVirtualKeyExW" (byval as UINT, byval as UINT, byval as HKL) as UINT
declare function MapVirtualKey alias "MapVirtualKeyW" (byval as UINT, byval as UINT) as UINT
declare function MessageBox alias "MessageBoxW" (byval as HWND, byval as LPCWSTR, byval as LPCWSTR, byval as UINT) as integer
declare function MessageBoxEx alias "MessageBoxExW" (byval as HWND, byval as LPCWSTR, byval as LPCWSTR, byval as UINT, byval as WORD) as integer
declare function MessageBoxIndirect alias "MessageBoxIndirectW" (byval as MSGBOXPARAMSW ptr) as integer
declare function ModifyMenu alias "ModifyMenuW" (byval as HMENU, byval as UINT, byval as UINT, byval as UINT, byval as LPCWSTR) as BOOL
declare function OemToCharBuff alias "OemToCharBuffW" (byval as LPCSTR, byval as LPWSTR, byval as DWORD) as BOOL
declare function OemToChar alias "OemToCharW" (byval as LPCSTR, byval as LPWSTR) as BOOL
declare function OpenDesktop alias "OpenDesktopW" (byval as LPWSTR, byval as DWORD, byval as BOOL, byval as DWORD) as HDESK
declare function OpenWindowStation alias "OpenWindowStationW" (byval as LPWSTR, byval as BOOL, byval as DWORD) as HWINSTA
declare function PeekMessage alias "PeekMessageW" (byval as LPMSG, byval as HWND, byval as UINT, byval as UINT, byval as UINT) as BOOL
declare function PostMessage alias "PostMessageW" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as BOOL
declare function PostThreadMessage alias "PostThreadMessageW" (byval as DWORD, byval as UINT, byval as WPARAM, byval as LPARAM) as BOOL
declare function RealGetWindowClass alias "RealGetWindowClassW" (byval as HWND, byval as LPWSTR, byval as UINT) as UINT
declare function RegisterClass alias "RegisterClassW" (byval as WNDCLASSW ptr) as ATOM
declare function RegisterClassEx alias "RegisterClassExW" (byval as WNDCLASSEXW ptr) as ATOM
declare function RegisterClipboardFormat alias "RegisterClipboardFormatW" (byval as LPCWSTR) as UINT
declare function RegisterWindowMessage alias "RegisterWindowMessageW" (byval as LPCWSTR) as UINT
declare function RemoveProp alias "RemovePropW" (byval as HWND, byval as LPCWSTR) as HANDLE
declare function SendDlgItemMessage alias "SendDlgItemMessageW" (byval as HWND, byval as integer, byval as UINT, byval as WPARAM, byval as LPARAM) as LONG
declare function SendMessageCallback alias "SendMessageCallbackW" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM, byval as SENDASYNCPROC, byval as DWORD) as BOOL
declare function SendMessageTimeout alias "SendMessageTimeoutW" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM, byval as UINT, byval as UINT, byval as PDWORD) as LRESULT
declare function SendMessage alias "SendMessageW" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function SendNotifyMessage alias "SendNotifyMessageW" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as BOOL
declare function SetClassLong alias "SetClassLongW" (byval as HWND, byval as integer, byval as LONG) as DWORD
declare function SetDlgItemText alias "SetDlgItemTextW" (byval as HWND, byval as integer, byval as LPCWSTR) as BOOL
declare function SetMenuItemInfo alias "SetMenuItemInfoW" (byval as HMENU, byval as UINT, byval as BOOL, byval as LPCMENUITEMINFOW) as BOOL
declare function SetProp alias "SetPropW" (byval as HWND, byval as LPCWSTR, byval as HANDLE) as BOOL
declare function SetUserObjectInformation alias "SetUserObjectInformationW" (byval as HANDLE, byval as integer, byval as PVOID, byval as DWORD) as BOOL
declare function SetWindowLong alias "SetWindowLongW" (byval as HWND, byval as integer, byval as LONG) as LONG
declare function SetWindowsHook alias "SetWindowsHookW" (byval as integer, byval as HOOKPROC) as HHOOK
declare function SetWindowsHookEx alias "SetWindowsHookExW" (byval as integer, byval as HOOKPROC, byval as HINSTANCE, byval as DWORD) as HHOOK
declare function SetWindowText alias "SetWindowTextW" (byval as HWND, byval as LPCWSTR) as BOOL
declare function SystemParametersInfo alias "SystemParametersInfoW" (byval as UINT, byval as UINT, byval as PVOID, byval as UINT) as BOOL
declare function TabbedTextOut alias "TabbedTextOutW" (byval as HDC, byval as integer, byval as integer, byval as LPCWSTR, byval as integer, byval as integer, byval as LPINT, byval as integer) as LONG
declare function TranslateAccelerator alias "TranslateAcceleratorW" (byval as HWND, byval as HACCEL, byval as LPMSG) as integer
declare function UnregisterClass alias "UnregisterClassW" (byval as LPCWSTR, byval as HINSTANCE) as BOOL
declare function VkKeyScanEx alias "VkKeyScanExW" (byval as WCHAR, byval as HKL) as SHORT
declare function VkKeyScan alias "VkKeyScanW" (byval as WCHAR) as SHORT
declare function WinHelp alias "WinHelpW" (byval as HWND, byval as LPCWSTR, byval as UINT, byval as DWORD) as BOOL
declare function wsprintf cdecl alias "wsprintfW" (byval as LPWSTR, byval as LPCWSTR, ...) as integer
''''''''declare function wvsprintf cdecl alias "wvsprintfW" (byval as LPWSTR, byval as LPCWSTR, byval arglist as va_list) as integer

#else ''UNICODE
type WNDCLASS as WNDCLASSA
type LPWNDCLASS as WNDCLASSA ptr
type PWNDCLASS as WNDCLASSA ptr
type WNDCLASSEX as WNDCLASSEXA
type LPWNDCLASSEX as WNDCLASSEXA ptr
type PWNDCLASSEX as WNDCLASSEXA ptr
type MENUITEMINFO as MENUITEMINFOA
type LPMENUITEMINFO as MENUITEMINFOA ptr
type LPCMENUITEMINFO as LPCMENUITEMINFOA
type MSGBOXPARAMS as MSGBOXPARAMSA
type PMSGBOXPARAMS as MSGBOXPARAMSA ptr
type LPMSGBOXPARAMS as MSGBOXPARAMSA ptr
type HIGHCONTRAST as HIGHCONTRASTA
type LPHIGHCONTRAST as HIGHCONTRASTA ptr
type SERIALKEYS as SERIALKEYSA
type LPSERIALKEYS as SERIALKEYSA ptr
type SOUNDSENTRY as SOUNDSENTRYA
type LPSOUNDSENTRY as SOUNDSENTRYA ptr
type CREATESTRUCT as CREATESTRUCTA
type LPCREATESTRUCT as CREATESTRUCTA ptr
type CBT_CREATEWND as CBT_CREATEWNDA
type LPCBT_CREATEWND as CBT_CREATEWNDA ptr
type MDICREATESTRUCT as MDICREATESTRUCTA
type LPMDICREATESTRUCT as MDICREATESTRUCTA ptr
type MULTIKEYHELP as MULTIKEYHELPA
type PMULTIKEYHELP as MULTIKEYHELPA ptr
type LPMULTIKEYHELP as MULTIKEYHELPA ptr
type MONITORINFOEX as MONITORINFOEXA
type LPMONITORINFOEX as MONITORINFOEXA ptr
type ICONMETRICS as ICONMETRICSA
type LPICONMETRICS as ICONMETRICSA ptr
type NONCLIENTMETRICS as NONCLIENTMETRICSA
type LPNONCLIENTMETRICS as NONCLIENTMETRICSA ptr

#define EDITWORDBREAKPROC EDITWORDBREAKPROCA
#define PROPENUMPROC PROPENUMPROCA
#define PROPENUMPROCEX PROPENUMPROCEXA
#define DESKTOPENUMPROC DESKTOPENUMPROCA
#define WINSTAENUMPROC WINSTAENUMPROCA
#define PROPENUMPROC PROPENUMPROCA
#define PROPENUMPROCEX PROPENUMPROCEXA
#define MAKEINTRESOURCE MAKEINTRESOURCEA

declare function AppendMenu alias "AppendMenuA" (byval as HMENU, byval as UINT, byval as UINT_PTR, byval as LPCSTR) as BOOL
declare function BroadcastSystemMessageA alias "BroadcastSystemMessageA" (byval as DWORD, byval as LPDWORD, byval as UINT, byval as WPARAM, byval as LPARAM) as integer
declare function BroadcastSystemMessageEx alias "BroadcastSystemMessageExA" (byval as DWORD, byval as LPDWORD, byval as UINT, byval as WPARAM, byval as LPARAM, byval as PBSMINFO) as integer
declare function CallMsgFilter alias "CallMsgFilterA" (byval as LPMSG, byval as INT_) as BOOL
declare function CallWindowProc alias "CallWindowProcA" (byval as WNDPROC, byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function ChangeDisplaySettings alias "ChangeDisplaySettingsA" (byval as PDEVMODEA, byval as DWORD) as LONG
declare function ChangeDisplaySettingsEx alias "ChangeDisplaySettingsExA" (byval as LPCSTR, byval as LPDEVMODEA, byval as HWND, byval as DWORD, byval as LPVOID) as LONG
declare function ChangeMenu alias "ChangeMenuA" (byval as HMENU, byval as UINT, byval as LPCSTR, byval as UINT, byval as UINT) as BOOL
declare function CharLower alias "CharLowerA" (byval as LPSTR) as LPSTR
declare function CharLowerBuff alias "CharLowerBuffA" (byval as LPSTR, byval as DWORD) as DWORD
declare function CharNext alias "CharNextA" (byval as LPCSTR) as LPSTR
declare function CharNextEx alias "CharNextExA" (byval as WORD, byval as LPCSTR, byval as DWORD) as LPSTR
declare function CharPrev alias "CharPrevA" (byval as LPCSTR, byval as LPCSTR) as LPSTR
declare function CharPrevEx alias "CharPrevExA" (byval as WORD, byval as LPCSTR, byval as LPCSTR, byval as DWORD) as LPSTR
declare function CharToOem alias "CharToOemA" (byval as LPCSTR, byval as LPSTR) as BOOL
declare function CharToOemBuff alias "CharToOemBuffA" (byval as LPCSTR, byval as LPSTR, byval as DWORD) as BOOL
declare function CharUpper alias "CharUpperA" (byval as LPSTR) as LPSTR
declare function CharUpperBuff alias "CharUpperBuffA" (byval as LPSTR, byval as DWORD) as DWORD
declare function CopyAcceleratorTable alias "CopyAcceleratorTableA" (byval as HACCEL, byval as LPACCEL, byval as integer) as integer
declare function CreateAcceleratorTable alias "CreateAcceleratorTableA" (byval as LPACCEL, byval as integer) as HACCEL
declare function CreateDesktop alias "CreateDesktopA" (byval as LPCSTR, byval as LPCSTR, byval as LPDEVMODEA, byval as DWORD, byval as ACCESS_MASK, byval as LPSECURITY_ATTRIBUTES) as HDESK
declare function CreateDialogIndirectParam alias "CreateDialogIndirectParamA" (byval as HINSTANCE, byval as LPCDLGTEMPLATE, byval as HWND, byval as DLGPROC, byval as LPARAM) as HWND
declare function CreateDialogParam alias "CreateDialogParamA" (byval as HINSTANCE, byval as LPCSTR, byval as HWND, byval as DLGPROC, byval as LPARAM) as HWND
declare function CreateMDIWindow alias "CreateMDIWindowA" (byval as LPCSTR, byval as LPCSTR, byval as DWORD, byval as integer, byval as integer, byval as integer, byval as integer, byval as HWND, byval as HINSTANCE, byval as LPARAM) as HWND
declare function CreateWindowEx alias "CreateWindowExA" (byval as DWORD, byval as LPCSTR, byval as LPCSTR, byval as DWORD, byval as integer, byval as integer, byval as integer, byval as integer, byval as HWND, byval as HMENU, byval as HINSTANCE, byval as LPVOID) as HWND
declare function CreateWindowStation alias "CreateWindowStationA" (byval as LPSTR, byval as DWORD, byval as DWORD, byval as LPSECURITY_ATTRIBUTES) as HWINSTA
declare function DefDlgProc alias "DefDlgProcA" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function DefFrameProc alias "DefFrameProcA" (byval as HWND, byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function DefMDIChildProc alias "DefMDIChildProcA" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function DefWindowProc alias "DefWindowProcA" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function DialogBoxIndirectParam alias "DialogBoxIndirectParamA" (byval as HINSTANCE, byval as LPCDLGTEMPLATE, byval as HWND, byval as DLGPROC, byval as LPARAM) as integer
declare function DialogBoxParam alias "DialogBoxParamA" (byval as HINSTANCE, byval as LPCSTR, byval as HWND, byval as DLGPROC, byval as LPARAM) as integer
declare function DispatchMessage alias "DispatchMessageA" (byval as MSG ptr) as LONG
declare function DlgDirList alias "DlgDirListA" (byval as HWND, byval as LPSTR, byval as integer, byval as integer, byval as UINT) as integer
declare function DlgDirListComboBox alias "DlgDirListComboBoxA" (byval as HWND, byval as LPSTR, byval as integer, byval as integer, byval as UINT) as integer
declare function DlgDirSelectComboBoxEx alias "DlgDirSelectComboBoxExA" (byval as HWND, byval as LPSTR, byval as integer, byval as integer) as BOOL
declare function DlgDirSelectEx alias "DlgDirSelectExA" (byval as HWND, byval as LPSTR, byval as integer, byval as integer) as BOOL
declare function DrawState alias "DrawStateA" (byval as HDC, byval as HBRUSH, byval as DRAWSTATEPROC, byval as LPARAM, byval as WPARAM, byval as integer, byval as integer, byval as integer, byval as integer, byval as UINT) as BOOL
declare function DrawText alias "DrawTextA" (byval as HDC, byval as LPCSTR, byval as integer, byval as LPRECT, byval as UINT) as integer
declare function DrawTextEx alias "DrawTextExA" (byval as HDC, byval as LPSTR, byval as integer, byval as LPRECT, byval as UINT, byval as LPDRAWTEXTPARAMS) as integer
declare function EnumDesktops alias "EnumDesktopsA" (byval as HWINSTA, byval as DESKTOPENUMPROCA, byval as LPARAM) as BOOL
declare function EnumDisplaySettings alias "EnumDisplaySettingsA" (byval as LPCSTR, byval as DWORD, byval as PDEVMODEA) as BOOL
declare function EnumDisplaySettingsEx alias "EnumDisplaySettingsExA" (byval as LPCSTR, byval as DWORD, byval as LPDEVMODEA, byval as DWORD) as BOOL
declare function EnumDisplayDevices alias "EnumDisplayDevicesA" (byval as LPCSTR, byval as DWORD, byval as PDISPLAY_DEVICEA, byval as DWORD) as BOOL
declare function EnumProps alias "EnumPropsA" (byval as HWND, byval as PROPENUMPROCA) as integer
declare function EnumPropsEx alias "EnumPropsExA" (byval as HWND, byval as PROPENUMPROCEXA, byval as LPARAM) as integer
declare function EnumWindowStations alias "EnumWindowStationsA" (byval as WINSTAENUMPROCA, byval as LPARAM) as BOOL
declare function FindWindow alias "FindWindowA" (byval as LPCSTR, byval as LPCSTR) as HWND
declare function FindWindowEx alias "FindWindowExA" (byval as HWND, byval as HWND, byval as LPCSTR, byval as LPCSTR) as HWND
declare function GetClassInfo alias "GetClassInfoA" (byval as HINSTANCE, byval as LPCSTR, byval as LPWNDCLASSA) as BOOL
declare function GetClassInfoEx alias "GetClassInfoExA" (byval as HINSTANCE, byval as LPCSTR, byval as LPWNDCLASSEXA) as BOOL
declare function GetClassLong alias "GetClassLongA" (byval as HWND, byval as integer) as DWORD
declare function GetClassName alias "GetClassNameA" (byval as HWND, byval as LPSTR, byval as integer) as integer
declare function GetClipboardFormatName alias "GetClipboardFormatNameA" (byval as UINT, byval as LPSTR, byval as integer) as integer
declare function GetDlgItemText alias "GetDlgItemTextA" (byval as HWND, byval as integer, byval as LPSTR, byval as integer) as UINT
declare function GetKeyboardLayoutName alias "GetKeyboardLayoutNameA" (byval as LPSTR) as BOOL
declare function GetKeyNameText alias "GetKeyNameTextA" (byval as LONG, byval as LPSTR, byval as integer) as integer
declare function GetMenuItemInfo alias "GetMenuItemInfoA" (byval as HMENU, byval as UINT, byval as BOOL, byval as LPMENUITEMINFOA) as BOOL
declare function GetMenuString alias "GetMenuStringA" (byval as HMENU, byval as UINT, byval as LPSTR, byval as integer, byval as UINT) as integer
declare function GetMessage alias "GetMessageA" (byval as LPMSG, byval as HWND, byval as UINT, byval as UINT) as BOOL
declare function GetProp alias "GetPropA" (byval as HWND, byval as LPCSTR) as HANDLE
declare function GetRawInputDeviceInfo alias "GetRawInputDeviceInfoA" (byval as HANDLE, byval as UINT, byval as LPVOID, byval as PUINT) as UINT
declare function GetTabbedTextExtent alias "GetTabbedTextExtentA" (byval as HDC, byval as LPCSTR, byval as integer, byval as integer, byval as LPINT) as DWORD
declare function GetWindowLong alias "GetWindowLongA" (byval as HWND, byval as integer) as LONG
declare function GetUserObjectInformation alias "GetUserObjectInformationA" (byval as HANDLE, byval as integer, byval as PVOID, byval as DWORD, byval as PDWORD) as BOOL
declare function GetWindowText alias "GetWindowTextA" (byval as HWND, byval as LPSTR, byval as integer) as integer
declare function GetWindowTextLength alias "GetWindowTextLengthA" (byval as HWND) as integer
declare function GetAltTabInfo alias "GetAltTabInfoA" (byval as HWND, byval as integer, byval as PALTTABINFO, byval as LPSTR, byval as UINT) as BOOL
declare function GetMonitorInfo alias "GetMonitorInfoA" (byval as HMONITOR, byval as LPMONITORINFO) as BOOL
declare function GetWindowModuleFileName alias "GetWindowModuleFileNameA" (byval as HWND, byval as LPSTR, byval as UINT) as UINT
declare function GrayString alias "GrayStringA" (byval as HDC, byval as HBRUSH, byval as GRAYSTRINGPROC, byval as LPARAM, byval as integer, byval as integer, byval as integer, byval as integer, byval as integer) as BOOL
declare function InsertMenu alias "InsertMenuA" (byval as HMENU, byval as UINT, byval as UINT, byval as UINT, byval as LPCSTR) as BOOL
declare function InsertMenuItem alias "InsertMenuItemA" (byval as HMENU, byval as UINT, byval as BOOL, byval as LPCMENUITEMINFOA) as BOOL
declare function IsCharAlpha alias "IsCharAlphaA" (byval ch as CHAR) as BOOL
declare function IsCharAlphaNumeric alias "IsCharAlphaNumericA" (byval as CHAR) as BOOL
declare function IsCharLower alias "IsCharLowerA" (byval as CHAR) as BOOL
declare function IsCharUpper alias "IsCharUpperA" (byval as CHAR) as BOOL
declare function IsDialogMessage alias "IsDialogMessageA" (byval as HWND, byval as LPMSG) as BOOL
declare function LoadAccelerators alias "LoadAcceleratorsA" (byval as HINSTANCE, byval as LPCSTR) as HACCEL
declare function LoadBitmap alias "LoadBitmapA" (byval as HINSTANCE, byval as LPCSTR) as HBITMAP
declare function LoadCursor alias "LoadCursorA" (byval as HINSTANCE, byval as LPCSTR) as HCURSOR
declare function LoadCursorFromFile alias "LoadCursorFromFileA" (byval as LPCSTR) as HCURSOR
declare function LoadIcon alias "LoadIconA" (byval as HINSTANCE, byval as LPCSTR) as HICON
declare function LoadImage alias "LoadImageA" (byval as HINSTANCE, byval as LPCSTR, byval as UINT, byval as integer, byval as integer, byval as UINT) as HANDLE
declare function LoadKeyboardLayout alias "LoadKeyboardLayoutA" (byval as LPCSTR, byval as UINT) as HKL
declare function LoadMenu alias "LoadMenuA" (byval as HINSTANCE, byval as LPCSTR) as HMENU
declare function LoadMenuIndirect alias "LoadMenuIndirectA" (byval as MENUTEMPLATE ptr) as HMENU
declare function LoadString alias "LoadStringA" (byval as HINSTANCE, byval as UINT, byval as LPSTR, byval as integer) as integer
declare function MapVirtualKey alias "MapVirtualKeyA" (byval as UINT, byval as UINT) as UINT
declare function MapVirtualKeyEx alias "MapVirtualKeyExA" (byval as UINT, byval as UINT, byval as HKL) as UINT
declare function MessageBox alias "MessageBoxA" (byval as HWND, byval as LPCSTR, byval as LPCSTR, byval as UINT) as integer
declare function MessageBoxEx alias "MessageBoxExA" (byval as HWND, byval as LPCSTR, byval as LPCSTR, byval as UINT, byval as WORD) as integer
declare function MessageBoxIndirect alias "MessageBoxIndirectA" (byval as MSGBOXPARAMSA ptr) as integer
declare function ModifyMenu alias "ModifyMenuA" (byval as HMENU, byval as UINT, byval as UINT, byval as UINT, byval as LPCSTR) as BOOL
declare function OemToChar alias "OemToCharA" (byval as LPCSTR, byval as LPSTR) as BOOL
declare function OemToCharBuff alias "OemToCharBuffA" (byval as LPCSTR, byval as LPSTR, byval as DWORD) as BOOL
declare function OpenDesktop alias "OpenDesktopA" (byval as LPSTR, byval as DWORD, byval as BOOL, byval as DWORD) as HDESK
declare function OpenWindowStation alias "OpenWindowStationA" (byval as LPSTR, byval as BOOL, byval as DWORD) as HWINSTA
declare function PeekMessage alias "PeekMessageA" (byval as LPMSG, byval as HWND, byval as UINT, byval as UINT, byval as UINT) as BOOL
declare function PostMessage alias "PostMessageA" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as BOOL
declare function PostThreadMessage alias "PostThreadMessageA" (byval as DWORD, byval as UINT, byval as WPARAM, byval as LPARAM) as BOOL
declare function RealGetWindowClass alias "RealGetWindowClassA" (byval as HWND, byval as LPSTR, byval as UINT) as UINT
declare function RegisterClass alias "RegisterClassA" (byval as WNDCLASSA ptr) as ATOM
declare function RegisterClassEx alias "RegisterClassExA" (byval as WNDCLASSEXA ptr) as ATOM
declare function RegisterClipboardFormat alias "RegisterClipboardFormatA" (byval as LPCSTR) as UINT
declare function RegisterWindowMessage alias "RegisterWindowMessageA" (byval as LPCSTR) as UINT
declare function RemoveProp alias "RemovePropA" (byval as HWND, byval as LPCSTR) as HANDLE
declare function SendDlgItemMessage alias "SendDlgItemMessageA" (byval as HWND, byval as integer, byval as UINT, byval as WPARAM, byval as LPARAM) as LONG
declare function SendMessage alias "SendMessageA" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT
declare function SendMessageCallback alias "SendMessageCallbackA" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM, byval as SENDASYNCPROC, byval as DWORD) as BOOL
declare function SendMessageTimeout alias "SendMessageTimeoutA" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM, byval as UINT, byval as UINT, byval as PDWORD) as LRESULT
declare function SendNotifyMessage alias "SendNotifyMessageA" (byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as BOOL
declare function SetClassLong alias "SetClassLongA" (byval as HWND, byval as integer, byval as LONG) as DWORD
declare function SetDlgItemText alias "SetDlgItemTextA" (byval as HWND, byval as integer, byval as LPCSTR) as BOOL
declare function SetMenuItemInfo alias "SetMenuItemInfoA" (byval as HMENU, byval as UINT, byval as BOOL, byval as LPCMENUITEMINFOA) as BOOL
declare function SetProp alias "SetPropA" (byval as HWND, byval as LPCSTR, byval as HANDLE) as BOOL
declare function SetUserObjectInformation alias "SetUserObjectInformationA" (byval as HANDLE, byval as integer, byval as PVOID, byval as DWORD) as BOOL
declare function SetWindowLong alias "SetWindowLongA" (byval as HWND, byval as integer, byval as LONG) as LONG
declare function SetWindowsHook alias "SetWindowsHookA" (byval as integer, byval as HOOKPROC) as HHOOK
declare function SetWindowsHookEx alias "SetWindowsHookExA" (byval as integer, byval as HOOKPROC, byval as HINSTANCE, byval as DWORD) as HHOOK
declare function SetWindowText alias "SetWindowTextA" (byval as HWND, byval as LPCSTR) as BOOL
declare function SystemParametersInfo alias "SystemParametersInfoA" (byval as UINT, byval as UINT, byval as PVOID, byval as UINT) as BOOL
declare function TabbedTextOut alias "TabbedTextOutA" (byval as HDC, byval as integer, byval as integer, byval as LPCSTR, byval as integer, byval as integer, byval as LPINT, byval as integer) as LONG
declare function TranslateAccelerator alias "TranslateAcceleratorA" (byval as HWND, byval as HACCEL, byval as LPMSG) as integer
declare function UnregisterClass alias "UnregisterClassA" (byval as LPCSTR, byval as HINSTANCE) as BOOL
declare function VkKeyScan alias "VkKeyScanA" (byval as CHAR) as SHORT
declare function VkKeyScanEx alias "VkKeyScanExA" (byval as CHAR, byval as HKL) as SHORT
declare function WinHelp alias "WinHelpA" (byval as HWND, byval as LPCSTR, byval as UINT, byval as DWORD) as BOOL
declare function wsprintf cdecl alias "wsprintfA" (byval as LPSTR, byval as LPCSTR, ...) as integer
''''''''declare function wvsprintf cdecl alias "wvsprintfA" (byval as LPSTR, byval as LPCSTR, byval arglist as va_list) as integer

#endif ''UNICODE

#define CreateDialog(h,n,w,f) CreateDialogParam(h,n,w,f,0)
#define CreateDialogIndirect(h,t,w,f) CreateDialogIndirectParam(h,t,w,f,0)
#define CreateWindow(a,b,c,d,e,f,g,h,i,j,k) CreateWindowEx(0,a,b,c,d,e,f,g,h,i,j,k)
#define DialogBox(i,t,p,f) DialogBoxParam(i,t,p,f,0)
#define DialogBoxIndirect(i,t,p,f) DialogBoxIndirectParam(i,t,p,f,0)
#define GetWindowLongPtr GetWindowLong
#define PostAppMessage(t,m,w,l) PostThreadMessage(cuint(t),m,w,l)
#define SetWindowLongPtr SetWindowLong

#define DefHookProc(c,p,lp,h) CallNextHookEx(cptr(HHOOK, *h),c,p,lp)
#define EnumTaskWindows(h,f,p) EnumThreadWindows(cuint(h),f,p)
#define ExitWindows(r,c) ExitWindowsEx(EWX_LOGOFF,0)
#define GetWindowTask(hWnd) cptr(HANDLE, GetWindowThreadProcessId(hWnd, NULL))
#define SetSysModalWindow(h)

#define GetClassLongPtr GetClassLong
#define SetClassLongPtr SetClassLong

end extern

#endif
