! Copyright (C) 2005, 2006 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.syntax parser namespaces
-kernel math windows.types generalizations math.bitwise
-classes.struct literals windows.kernel32 system accessors ;
+USING: accessors alien alien.c-types alien.syntax classes.struct
+generalizations kernel literals math math.bitwise namespaces
+parser system windows.com.syntax windows.kernel32 windows.ole32
+windows.types ;
IN: windows.user32
! HKL for ActivateKeyboardLayout
CONSTANT: HKL_PREV 0
CONSTANT: HKL_NEXT 1
-CONSTANT: CW_USEDEFAULT HEX: 80000000
-
-CONSTANT: WS_OVERLAPPED HEX: 00000000
-CONSTANT: WS_POPUP HEX: 80000000
-CONSTANT: WS_CHILD HEX: 40000000
-CONSTANT: WS_MINIMIZE HEX: 20000000
-CONSTANT: WS_VISIBLE HEX: 10000000
-CONSTANT: WS_DISABLED HEX: 08000000
-CONSTANT: WS_CLIPSIBLINGS HEX: 04000000
-CONSTANT: WS_CLIPCHILDREN HEX: 02000000
-CONSTANT: WS_MAXIMIZE HEX: 01000000
-CONSTANT: WS_CAPTION HEX: 00C00000
-CONSTANT: WS_BORDER HEX: 00800000
-CONSTANT: WS_DLGFRAME HEX: 00400000
-CONSTANT: WS_VSCROLL HEX: 00200000
-CONSTANT: WS_HSCROLL HEX: 00100000
-CONSTANT: WS_SYSMENU HEX: 00080000
-CONSTANT: WS_THICKFRAME HEX: 00040000
-CONSTANT: WS_GROUP HEX: 00020000
-CONSTANT: WS_TABSTOP HEX: 00010000
-CONSTANT: WS_MINIMIZEBOX HEX: 00020000
-CONSTANT: WS_MAXIMIZEBOX HEX: 00010000
+CONSTANT: CW_USEDEFAULT 0x80000000
+
+CONSTANT: WS_OVERLAPPED 0x00000000
+CONSTANT: WS_POPUP 0x80000000
+CONSTANT: WS_CHILD 0x40000000
+CONSTANT: WS_MINIMIZE 0x20000000
+CONSTANT: WS_VISIBLE 0x10000000
+CONSTANT: WS_DISABLED 0x08000000
+CONSTANT: WS_CLIPSIBLINGS 0x04000000
+CONSTANT: WS_CLIPCHILDREN 0x02000000
+CONSTANT: WS_MAXIMIZE 0x01000000
+CONSTANT: WS_CAPTION 0x00C00000
+CONSTANT: WS_BORDER 0x00800000
+CONSTANT: WS_DLGFRAME 0x00400000
+CONSTANT: WS_VSCROLL 0x00200000
+CONSTANT: WS_HSCROLL 0x00100000
+CONSTANT: WS_SYSMENU 0x00080000
+CONSTANT: WS_THICKFRAME 0x00040000
+CONSTANT: WS_GROUP 0x00020000
+CONSTANT: WS_TABSTOP 0x00010000
+CONSTANT: WS_MINIMIZEBOX 0x00020000
+CONSTANT: WS_MAXIMIZEBOX 0x00010000
! Common window styles
-: WS_OVERLAPPEDWINDOW ( -- n )
- {
+CONSTANT: WS_OVERLAPPEDWINDOW
+ flags{
WS_OVERLAPPED
WS_CAPTION
WS_SYSMENU
WS_THICKFRAME
WS_MINIMIZEBOX
WS_MAXIMIZEBOX
- } flags ; foldable
+ }
-: WS_POPUPWINDOW ( -- n )
- { WS_POPUP WS_BORDER WS_SYSMENU } flags ; foldable
+CONSTANT: WS_POPUPWINDOW flags{ WS_POPUP WS_BORDER WS_SYSMENU }
ALIAS: WS_CHILDWINDOW WS_CHILD
! Extended window styles
-CONSTANT: WS_EX_DLGMODALFRAME HEX: 00000001
-CONSTANT: WS_EX_NOPARENTNOTIFY HEX: 00000004
-CONSTANT: WS_EX_TOPMOST HEX: 00000008
-CONSTANT: WS_EX_ACCEPTFILES HEX: 00000010
-CONSTANT: WS_EX_TRANSPARENT HEX: 00000020
-CONSTANT: WS_EX_MDICHILD HEX: 00000040
-CONSTANT: WS_EX_TOOLWINDOW HEX: 00000080
-CONSTANT: WS_EX_WINDOWEDGE HEX: 00000100
-CONSTANT: WS_EX_CLIENTEDGE HEX: 00000200
-CONSTANT: WS_EX_CONTEXTHELP HEX: 00000400
-
-CONSTANT: WS_EX_RIGHT HEX: 00001000
-CONSTANT: WS_EX_LEFT HEX: 00000000
-CONSTANT: WS_EX_RTLREADING HEX: 00002000
-CONSTANT: WS_EX_LTRREADING HEX: 00000000
-CONSTANT: WS_EX_LEFTSCROLLBAR HEX: 00004000
-CONSTANT: WS_EX_RIGHTSCROLLBAR HEX: 00000000
-CONSTANT: WS_EX_CONTROLPARENT HEX: 00010000
-CONSTANT: WS_EX_STATICEDGE HEX: 00020000
-CONSTANT: WS_EX_APPWINDOW HEX: 00040000
-
-: WS_EX_OVERLAPPEDWINDOW ( -- n )
- WS_EX_WINDOWEDGE WS_EX_CLIENTEDGE bitor ; foldable
-
-: WS_EX_PALETTEWINDOW ( -- n )
- { WS_EX_WINDOWEDGE WS_EX_TOOLWINDOW WS_EX_TOPMOST } flags ; foldable
-
-CONSTANT: CS_VREDRAW HEX: 0001
-CONSTANT: CS_HREDRAW HEX: 0002
-CONSTANT: CS_DBLCLKS HEX: 0008
-CONSTANT: CS_OWNDC HEX: 0020
-CONSTANT: CS_CLASSDC HEX: 0040
-CONSTANT: CS_PARENTDC HEX: 0080
-CONSTANT: CS_NOCLOSE HEX: 0200
-CONSTANT: CS_SAVEBITS HEX: 0800
-CONSTANT: CS_BYTEALIGNCLIENT HEX: 1000
-CONSTANT: CS_BYTEALIGNWINDOW HEX: 2000
-CONSTANT: CS_GLOBALCLASS HEX: 4000
+CONSTANT: WS_EX_DLGMODALFRAME 0x00000001
+CONSTANT: WS_EX_NOPARENTNOTIFY 0x00000004
+CONSTANT: WS_EX_TOPMOST 0x00000008
+CONSTANT: WS_EX_ACCEPTFILES 0x00000010
+CONSTANT: WS_EX_TRANSPARENT 0x00000020
+CONSTANT: WS_EX_MDICHILD 0x00000040
+CONSTANT: WS_EX_TOOLWINDOW 0x00000080
+CONSTANT: WS_EX_WINDOWEDGE 0x00000100
+CONSTANT: WS_EX_CLIENTEDGE 0x00000200
+CONSTANT: WS_EX_CONTEXTHELP 0x00000400
+
+CONSTANT: WS_EX_RIGHT 0x00001000
+CONSTANT: WS_EX_LEFT 0x00000000
+CONSTANT: WS_EX_RTLREADING 0x00002000
+CONSTANT: WS_EX_LTRREADING 0x00000000
+CONSTANT: WS_EX_LEFTSCROLLBAR 0x00004000
+CONSTANT: WS_EX_RIGHTSCROLLBAR 0x00000000
+CONSTANT: WS_EX_CONTROLPARENT 0x00010000
+CONSTANT: WS_EX_STATICEDGE 0x00020000
+CONSTANT: WS_EX_APPWINDOW 0x00040000
+
+CONSTANT: WS_EX_OVERLAPPEDWINDOW
+ flags{ WS_EX_WINDOWEDGE WS_EX_CLIENTEDGE }
+
+CONSTANT: WS_EX_PALETTEWINDOW
+ flags{ WS_EX_WINDOWEDGE WS_EX_TOOLWINDOW WS_EX_TOPMOST }
+
+CONSTANT: CS_VREDRAW 0x0001
+CONSTANT: CS_HREDRAW 0x0002
+CONSTANT: CS_DBLCLKS 0x0008
+CONSTANT: CS_OWNDC 0x0020
+CONSTANT: CS_CLASSDC 0x0040
+CONSTANT: CS_PARENTDC 0x0080
+CONSTANT: CS_NOCLOSE 0x0200
+CONSTANT: CS_SAVEBITS 0x0800
+CONSTANT: CS_BYTEALIGNCLIENT 0x1000
+CONSTANT: CS_BYTEALIGNWINDOW 0x2000
+CONSTANT: CS_GLOBALCLASS 0x4000
CONSTANT: COLOR_SCROLLBAR 0
CONSTANT: COLOR_BACKGROUND 1
CONSTANT: COLOR_INACTIVECAPTIONTEXT 19
CONSTANT: COLOR_BTNHIGHLIGHT 20
-CONSTANT: IDI_APPLICATION 32512
-CONSTANT: IDI_HAND 32513
-CONSTANT: IDI_QUESTION 32514
-CONSTANT: IDI_EXCLAMATION 32515
-CONSTANT: IDI_ASTERISK 32516
-CONSTANT: IDI_WINLOGO 32517
-
! ShowWindow() Commands
CONSTANT: SW_HIDE 0
CONSTANT: SW_SHOWNORMAL 1
! : PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16) ;
-!
+!
! Standard Cursor IDs
!
CONSTANT: IDC_ARROW 32512
CONSTANT: CF_DIBV5 17
CONSTANT: CF_MAX 18
-CONSTANT: CF_OWNERDISPLAY HEX: 0080
-CONSTANT: CF_DSPTEXT HEX: 0081
-CONSTANT: CF_DSPBITMAP HEX: 0082
-CONSTANT: CF_DSPMETAFILEPICT HEX: 0083
-CONSTANT: CF_DSPENHMETAFILE HEX: 008E
+CONSTANT: CF_OWNERDISPLAY 0x0080
+CONSTANT: CF_DSPTEXT 0x0081
+CONSTANT: CF_DSPBITMAP 0x0082
+CONSTANT: CF_DSPMETAFILEPICT 0x0083
+CONSTANT: CF_DSPENHMETAFILE 0x008E
! "Private" formats don't get GlobalFree()'d
-CONSTANT: CF_PRIVATEFIRST HEX: 200
-CONSTANT: CF_PRIVATELAST HEX: 2FF
+CONSTANT: CF_PRIVATEFIRST 0x200
+CONSTANT: CF_PRIVATELAST 0x2FF
! "GDIOBJ" formats do get DeleteObject()'d
-CONSTANT: CF_GDIOBJFIRST HEX: 300
-CONSTANT: CF_GDIOBJLAST HEX: 3FF
+CONSTANT: CF_GDIOBJFIRST 0x300
+CONSTANT: CF_GDIOBJLAST 0x3FF
! Virtual Keys, Standard Set
-CONSTANT: VK_LBUTTON HEX: 01
-CONSTANT: VK_RBUTTON HEX: 02
-CONSTANT: VK_CANCEL HEX: 03
-CONSTANT: VK_MBUTTON HEX: 04 ! NOT contiguous with L & RBUTTON
-CONSTANT: VK_XBUTTON1 HEX: 05 ! NOT contiguous with L & RBUTTON
-CONSTANT: VK_XBUTTON2 HEX: 06 ! NOT contiguous with L & RBUTTON
+CONSTANT: VK_LBUTTON 0x01
+CONSTANT: VK_RBUTTON 0x02
+CONSTANT: VK_CANCEL 0x03
+CONSTANT: VK_MBUTTON 0x04 ! NOT contiguous with L & RBUTTON
+CONSTANT: VK_XBUTTON1 0x05 ! NOT contiguous with L & RBUTTON
+CONSTANT: VK_XBUTTON2 0x06 ! NOT contiguous with L & RBUTTON
! 0x07 : unassigned
-CONSTANT: VK_BACK HEX: 08
-CONSTANT: VK_TAB HEX: 09
+CONSTANT: VK_BACK 0x08
+CONSTANT: VK_TAB 0x09
! 0x0A - 0x0B : reserved
-CONSTANT: VK_CLEAR HEX: 0C
-CONSTANT: VK_RETURN HEX: 0D
-
-CONSTANT: VK_SHIFT HEX: 10
-CONSTANT: VK_CONTROL HEX: 11
-CONSTANT: VK_MENU HEX: 12
-CONSTANT: VK_PAUSE HEX: 13
-CONSTANT: VK_CAPITAL HEX: 14
-
-CONSTANT: VK_KANA HEX: 15
-CONSTANT: VK_HANGEUL HEX: 15 ! old name - here for compatibility
-CONSTANT: VK_HANGUL HEX: 15
-CONSTANT: VK_JUNJA HEX: 17
-CONSTANT: VK_FINAL HEX: 18
-CONSTANT: VK_HANJA HEX: 19
-CONSTANT: VK_KANJI HEX: 19
-
-CONSTANT: VK_ESCAPE HEX: 1B
-
-CONSTANT: VK_CONVERT HEX: 1C
-CONSTANT: VK_NONCONVERT HEX: 1D
-CONSTANT: VK_ACCEPT HEX: 1E
-CONSTANT: VK_MODECHANGE HEX: 1F
-
-CONSTANT: VK_SPACE HEX: 20
-CONSTANT: VK_PRIOR HEX: 21
-CONSTANT: VK_NEXT HEX: 22
-CONSTANT: VK_END HEX: 23
-CONSTANT: VK_HOME HEX: 24
-CONSTANT: VK_LEFT HEX: 25
-CONSTANT: VK_UP HEX: 26
-CONSTANT: VK_RIGHT HEX: 27
-CONSTANT: VK_DOWN HEX: 28
-CONSTANT: VK_SELECT HEX: 29
-CONSTANT: VK_PRINT HEX: 2A
-CONSTANT: VK_EXECUTE HEX: 2B
-CONSTANT: VK_SNAPSHOT HEX: 2C
-CONSTANT: VK_INSERT HEX: 2D
-CONSTANT: VK_DELETE HEX: 2E
-CONSTANT: VK_HELP HEX: 2F
+CONSTANT: VK_CLEAR 0x0C
+CONSTANT: VK_RETURN 0x0D
+
+CONSTANT: VK_SHIFT 0x10
+CONSTANT: VK_CONTROL 0x11
+CONSTANT: VK_MENU 0x12
+CONSTANT: VK_PAUSE 0x13
+CONSTANT: VK_CAPITAL 0x14
+
+CONSTANT: VK_KANA 0x15
+CONSTANT: VK_HANGEUL 0x15 ! old name - here for compatibility
+CONSTANT: VK_HANGUL 0x15
+CONSTANT: VK_JUNJA 0x17
+CONSTANT: VK_FINAL 0x18
+CONSTANT: VK_HANJA 0x19
+CONSTANT: VK_KANJI 0x19
+
+CONSTANT: VK_ESCAPE 0x1B
+
+CONSTANT: VK_CONVERT 0x1C
+CONSTANT: VK_NONCONVERT 0x1D
+CONSTANT: VK_ACCEPT 0x1E
+CONSTANT: VK_MODECHANGE 0x1F
+
+CONSTANT: VK_SPACE 0x20
+CONSTANT: VK_PRIOR 0x21
+CONSTANT: VK_NEXT 0x22
+CONSTANT: VK_END 0x23
+CONSTANT: VK_HOME 0x24
+CONSTANT: VK_LEFT 0x25
+CONSTANT: VK_UP 0x26
+CONSTANT: VK_RIGHT 0x27
+CONSTANT: VK_DOWN 0x28
+CONSTANT: VK_SELECT 0x29
+CONSTANT: VK_PRINT 0x2A
+CONSTANT: VK_EXECUTE 0x2B
+CONSTANT: VK_SNAPSHOT 0x2C
+CONSTANT: VK_INSERT 0x2D
+CONSTANT: VK_DELETE 0x2E
+CONSTANT: VK_HELP 0x2F
CONSTANT: VK_0 CHAR: 0
CONSTANT: VK_1 CHAR: 1
CONSTANT: VK_Y CHAR: Y
CONSTANT: VK_Z CHAR: Z
-CONSTANT: VK_LWIN HEX: 5B
-CONSTANT: VK_RWIN HEX: 5C
-CONSTANT: VK_APPS HEX: 5D
+CONSTANT: VK_LWIN 0x5B
+CONSTANT: VK_RWIN 0x5C
+CONSTANT: VK_APPS 0x5D
! 0x5E : reserved
-CONSTANT: VK_SLEEP HEX: 5F
-
-CONSTANT: VK_NUMPAD0 HEX: 60
-CONSTANT: VK_NUMPAD1 HEX: 61
-CONSTANT: VK_NUMPAD2 HEX: 62
-CONSTANT: VK_NUMPAD3 HEX: 63
-CONSTANT: VK_NUMPAD4 HEX: 64
-CONSTANT: VK_NUMPAD5 HEX: 65
-CONSTANT: VK_NUMPAD6 HEX: 66
-CONSTANT: VK_NUMPAD7 HEX: 67
-CONSTANT: VK_NUMPAD8 HEX: 68
-CONSTANT: VK_NUMPAD9 HEX: 69
-CONSTANT: VK_MULTIPLY HEX: 6A
-CONSTANT: VK_ADD HEX: 6B
-CONSTANT: VK_SEPARATOR HEX: 6C
-CONSTANT: VK_SUBTRACT HEX: 6D
-CONSTANT: VK_DECIMAL HEX: 6E
-CONSTANT: VK_DIVIDE HEX: 6F
-CONSTANT: VK_F1 HEX: 70
-CONSTANT: VK_F2 HEX: 71
-CONSTANT: VK_F3 HEX: 72
-CONSTANT: VK_F4 HEX: 73
-CONSTANT: VK_F5 HEX: 74
-CONSTANT: VK_F6 HEX: 75
-CONSTANT: VK_F7 HEX: 76
-CONSTANT: VK_F8 HEX: 77
-CONSTANT: VK_F9 HEX: 78
-CONSTANT: VK_F10 HEX: 79
-CONSTANT: VK_F11 HEX: 7A
-CONSTANT: VK_F12 HEX: 7B
-CONSTANT: VK_F13 HEX: 7C
-CONSTANT: VK_F14 HEX: 7D
-CONSTANT: VK_F15 HEX: 7E
-CONSTANT: VK_F16 HEX: 7F
-CONSTANT: VK_F17 HEX: 80
-CONSTANT: VK_F18 HEX: 81
-CONSTANT: VK_F19 HEX: 82
-CONSTANT: VK_F20 HEX: 83
-CONSTANT: VK_F21 HEX: 84
-CONSTANT: VK_F22 HEX: 85
-CONSTANT: VK_F23 HEX: 86
-CONSTANT: VK_F24 HEX: 87
+CONSTANT: VK_SLEEP 0x5F
+
+CONSTANT: VK_NUMPAD0 0x60
+CONSTANT: VK_NUMPAD1 0x61
+CONSTANT: VK_NUMPAD2 0x62
+CONSTANT: VK_NUMPAD3 0x63
+CONSTANT: VK_NUMPAD4 0x64
+CONSTANT: VK_NUMPAD5 0x65
+CONSTANT: VK_NUMPAD6 0x66
+CONSTANT: VK_NUMPAD7 0x67
+CONSTANT: VK_NUMPAD8 0x68
+CONSTANT: VK_NUMPAD9 0x69
+CONSTANT: VK_MULTIPLY 0x6A
+CONSTANT: VK_ADD 0x6B
+CONSTANT: VK_SEPARATOR 0x6C
+CONSTANT: VK_SUBTRACT 0x6D
+CONSTANT: VK_DECIMAL 0x6E
+CONSTANT: VK_DIVIDE 0x6F
+CONSTANT: VK_F1 0x70
+CONSTANT: VK_F2 0x71
+CONSTANT: VK_F3 0x72
+CONSTANT: VK_F4 0x73
+CONSTANT: VK_F5 0x74
+CONSTANT: VK_F6 0x75
+CONSTANT: VK_F7 0x76
+CONSTANT: VK_F8 0x77
+CONSTANT: VK_F9 0x78
+CONSTANT: VK_F10 0x79
+CONSTANT: VK_F11 0x7A
+CONSTANT: VK_F12 0x7B
+CONSTANT: VK_F13 0x7C
+CONSTANT: VK_F14 0x7D
+CONSTANT: VK_F15 0x7E
+CONSTANT: VK_F16 0x7F
+CONSTANT: VK_F17 0x80
+CONSTANT: VK_F18 0x81
+CONSTANT: VK_F19 0x82
+CONSTANT: VK_F20 0x83
+CONSTANT: VK_F21 0x84
+CONSTANT: VK_F22 0x85
+CONSTANT: VK_F23 0x86
+CONSTANT: VK_F24 0x87
! 0x88 - 0x8F : unassigned
-CONSTANT: VK_NUMLOCK HEX: 90
-CONSTANT: VK_SCROLL HEX: 91
+CONSTANT: VK_NUMLOCK 0x90
+CONSTANT: VK_SCROLL 0x91
! NEC PC-9800 kbd definitions
-CONSTANT: VK_OEM_NEC_EQUAL HEX: 92 ! '=' key on numpad
+CONSTANT: VK_OEM_NEC_EQUAL 0x92 ! '=' key on numpad
! Fujitsu/OASYS kbd definitions
-CONSTANT: VK_OEM_FJ_JISHO HEX: 92 ! 'Dictionary' key
-CONSTANT: VK_OEM_FJ_MASSHOU HEX: 93 ! 'Unregister word' key
-CONSTANT: VK_OEM_FJ_TOUROKU HEX: 94 ! 'Register word' key
-CONSTANT: VK_OEM_FJ_LOYA HEX: 95 ! 'Left OYAYUBI' key
-CONSTANT: VK_OEM_FJ_ROYA HEX: 96 ! 'Right OYAYUBI' key
+CONSTANT: VK_OEM_FJ_JISHO 0x92 ! 'Dictionary' key
+CONSTANT: VK_OEM_FJ_MASSHOU 0x93 ! 'Unregister word' key
+CONSTANT: VK_OEM_FJ_TOUROKU 0x94 ! 'Register word' key
+CONSTANT: VK_OEM_FJ_LOYA 0x95 ! 'Left OYAYUBI' key
+CONSTANT: VK_OEM_FJ_ROYA 0x96 ! 'Right OYAYUBI' key
! 0x97 - 0x9F : unassigned
! VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
! Used only as parameters to GetAsyncKeyState() and GetKeyState().
! No other API or message will distinguish left and right keys in this way.
-CONSTANT: VK_LSHIFT HEX: A0
-CONSTANT: VK_RSHIFT HEX: A1
-CONSTANT: VK_LCONTROL HEX: A2
-CONSTANT: VK_RCONTROL HEX: A3
-CONSTANT: VK_LMENU HEX: A4
-CONSTANT: VK_RMENU HEX: A5
-
-CONSTANT: VK_BROWSER_BACK HEX: A6
-CONSTANT: VK_BROWSER_FORWARD HEX: A7
-CONSTANT: VK_BROWSER_REFRESH HEX: A8
-CONSTANT: VK_BROWSER_STOP HEX: A9
-CONSTANT: VK_BROWSER_SEARCH HEX: AA
-CONSTANT: VK_BROWSER_FAVORITES HEX: AB
-CONSTANT: VK_BROWSER_HOME HEX: AC
-
-CONSTANT: VK_VOLUME_MUTE HEX: AD
-CONSTANT: VK_VOLUME_DOWN HEX: AE
-CONSTANT: VK_VOLUME_UP HEX: AF
-CONSTANT: VK_MEDIA_NEXT_TRACK HEX: B0
-CONSTANT: VK_MEDIA_PREV_TRACK HEX: B1
-CONSTANT: VK_MEDIA_STOP HEX: B2
-CONSTANT: VK_MEDIA_PLAY_PAUSE HEX: B3
-CONSTANT: VK_LAUNCH_MAIL HEX: B4
-CONSTANT: VK_LAUNCH_MEDIA_SELECT HEX: B5
-CONSTANT: VK_LAUNCH_APP1 HEX: B6
-CONSTANT: VK_LAUNCH_APP2 HEX: B7
+CONSTANT: VK_LSHIFT 0xA0
+CONSTANT: VK_RSHIFT 0xA1
+CONSTANT: VK_LCONTROL 0xA2
+CONSTANT: VK_RCONTROL 0xA3
+CONSTANT: VK_LMENU 0xA4
+CONSTANT: VK_RMENU 0xA5
+
+CONSTANT: VK_BROWSER_BACK 0xA6
+CONSTANT: VK_BROWSER_FORWARD 0xA7
+CONSTANT: VK_BROWSER_REFRESH 0xA8
+CONSTANT: VK_BROWSER_STOP 0xA9
+CONSTANT: VK_BROWSER_SEARCH 0xAA
+CONSTANT: VK_BROWSER_FAVORITES 0xAB
+CONSTANT: VK_BROWSER_HOME 0xAC
+
+CONSTANT: VK_VOLUME_MUTE 0xAD
+CONSTANT: VK_VOLUME_DOWN 0xAE
+CONSTANT: VK_VOLUME_UP 0xAF
+CONSTANT: VK_MEDIA_NEXT_TRACK 0xB0
+CONSTANT: VK_MEDIA_PREV_TRACK 0xB1
+CONSTANT: VK_MEDIA_STOP 0xB2
+CONSTANT: VK_MEDIA_PLAY_PAUSE 0xB3
+CONSTANT: VK_LAUNCH_MAIL 0xB4
+CONSTANT: VK_LAUNCH_MEDIA_SELECT 0xB5
+CONSTANT: VK_LAUNCH_APP1 0xB6
+CONSTANT: VK_LAUNCH_APP2 0xB7
! 0xB8 - 0xB9 : reserved
-CONSTANT: VK_OEM_1 HEX: BA ! ';:' for US
-CONSTANT: VK_OEM_PLUS HEX: BB ! '+' any country
-CONSTANT: VK_OEM_COMMA HEX: BC ! ',' any country
-CONSTANT: VK_OEM_MINUS HEX: BD ! '-' any country
-CONSTANT: VK_OEM_PERIOD HEX: BE ! '.' any country
-CONSTANT: VK_OEM_2 HEX: BF ! '/?' for US
-CONSTANT: VK_OEM_3 HEX: C0 ! '`~' for US
+CONSTANT: VK_OEM_1 0xBA ! ';:' for US
+CONSTANT: VK_OEM_PLUS 0xBB ! '+' any country
+CONSTANT: VK_OEM_COMMA 0xBC ! ',' any country
+CONSTANT: VK_OEM_MINUS 0xBD ! '-' any country
+CONSTANT: VK_OEM_PERIOD 0xBE ! '.' any country
+CONSTANT: VK_OEM_2 0xBF ! '/?' for US
+CONSTANT: VK_OEM_3 0xC0 ! '`~' for US
! 0xC1 - 0xD7 : reserved
! 0xD8 - 0xDA : unassigned
-CONSTANT: VK_OEM_4 HEX: DB ! '[{' for US
-CONSTANT: VK_OEM_5 HEX: DC ! '\|' for US
-CONSTANT: VK_OEM_6 HEX: DD ! ']}' for US
-CONSTANT: VK_OEM_7 HEX: DE ! ''"' for US
-CONSTANT: VK_OEM_8 HEX: DF
+CONSTANT: VK_OEM_4 0xDB ! '[{' for US
+CONSTANT: VK_OEM_5 0xDC ! '\|' for US
+CONSTANT: VK_OEM_6 0xDD ! ']}' for US
+CONSTANT: VK_OEM_7 0xDE ! ''"' for US
+CONSTANT: VK_OEM_8 0xDF
! 0xE0 : reserved
! Various extended or enhanced keyboards
-CONSTANT: VK_OEM_AX HEX: E1 ! 'AX' key on Japanese AX kbd
-CONSTANT: VK_OEM_102 HEX: E2 ! "<>" or "\|" on RT 102-key kbd.
-CONSTANT: VK_ICO_HELP HEX: E3 ! Help key on ICO
-CONSTANT: VK_ICO_00 HEX: E4 ! 00 key on ICO
+CONSTANT: VK_OEM_AX 0xE1 ! 'AX' key on Japanese AX kbd
+CONSTANT: VK_OEM_102 0xE2 ! "<>" or "\|" on RT 102-key kbd.
+CONSTANT: VK_ICO_HELP 0xE3 ! Help key on ICO
+CONSTANT: VK_ICO_00 0xE4 ! 00 key on ICO
-CONSTANT: VK_PROCESSKEY HEX: E5
+CONSTANT: VK_PROCESSKEY 0xE5
-CONSTANT: VK_ICO_CLEAR HEX: E6
+CONSTANT: VK_ICO_CLEAR 0xE6
-CONSTANT: VK_PACKET HEX: E7
+CONSTANT: VK_PACKET 0xE7
! 0xE8 : unassigned
! Nokia/Ericsson definitions
-CONSTANT: VK_OEM_RESET HEX: E9
-CONSTANT: VK_OEM_JUMP HEX: EA
-CONSTANT: VK_OEM_PA1 HEX: EB
-CONSTANT: VK_OEM_PA2 HEX: EC
-CONSTANT: VK_OEM_PA3 HEX: ED
-CONSTANT: VK_OEM_WSCTRL HEX: EE
-CONSTANT: VK_OEM_CUSEL HEX: EF
-CONSTANT: VK_OEM_ATTN HEX: F0
-CONSTANT: VK_OEM_FINISH HEX: F1
-CONSTANT: VK_OEM_COPY HEX: F2
-CONSTANT: VK_OEM_AUTO HEX: F3
-CONSTANT: VK_OEM_ENLW HEX: F4
-CONSTANT: VK_OEM_BACKTAB HEX: F5
-
-CONSTANT: VK_ATTN HEX: F6
-CONSTANT: VK_CRSEL HEX: F7
-CONSTANT: VK_EXSEL HEX: F8
-CONSTANT: VK_EREOF HEX: F9
-CONSTANT: VK_PLAY HEX: FA
-CONSTANT: VK_ZOOM HEX: FB
-CONSTANT: VK_NONAME HEX: FC
-CONSTANT: VK_PA1 HEX: FD
-CONSTANT: VK_OEM_CLEAR HEX: FE
+CONSTANT: VK_OEM_RESET 0xE9
+CONSTANT: VK_OEM_JUMP 0xEA
+CONSTANT: VK_OEM_PA1 0xEB
+CONSTANT: VK_OEM_PA2 0xEC
+CONSTANT: VK_OEM_PA3 0xED
+CONSTANT: VK_OEM_WSCTRL 0xEE
+CONSTANT: VK_OEM_CUSEL 0xEF
+CONSTANT: VK_OEM_ATTN 0xF0
+CONSTANT: VK_OEM_FINISH 0xF1
+CONSTANT: VK_OEM_COPY 0xF2
+CONSTANT: VK_OEM_AUTO 0xF3
+CONSTANT: VK_OEM_ENLW 0xF4
+CONSTANT: VK_OEM_BACKTAB 0xF5
+
+CONSTANT: VK_ATTN 0xF6
+CONSTANT: VK_CRSEL 0xF7
+CONSTANT: VK_EXSEL 0xF8
+CONSTANT: VK_EREOF 0xF9
+CONSTANT: VK_PLAY 0xFA
+CONSTANT: VK_ZOOM 0xFB
+CONSTANT: VK_NONAME 0xFC
+CONSTANT: VK_PA1 0xFD
+CONSTANT: VK_OEM_CLEAR 0xFE
! 0xFF : reserved
! Key State Masks for Mouse Messages
-CONSTANT: MK_LBUTTON HEX: 0001
-CONSTANT: MK_RBUTTON HEX: 0002
-CONSTANT: MK_SHIFT HEX: 0004
-CONSTANT: MK_CONTROL HEX: 0008
-CONSTANT: MK_MBUTTON HEX: 0010
-CONSTANT: MK_XBUTTON1 HEX: 0020
-CONSTANT: MK_XBUTTON2 HEX: 0040
+CONSTANT: MK_LBUTTON 0x0001
+CONSTANT: MK_RBUTTON 0x0002
+CONSTANT: MK_SHIFT 0x0004
+CONSTANT: MK_CONTROL 0x0008
+CONSTANT: MK_MBUTTON 0x0010
+CONSTANT: MK_XBUTTON1 0x0020
+CONSTANT: MK_XBUTTON2 0x0040
! Some fields are not defined for win64
! Window field offsets for GetWindowLong()
CONSTANT: GCLP_WNDPROC -24
CONSTANT: GCLP_HICONSM -34
-CONSTANT: MB_ICONASTERISK HEX: 00000040
-CONSTANT: MB_ICONEXCLAMATION HEX: 00000030
-CONSTANT: MB_ICONHAND HEX: 00000010
-CONSTANT: MB_ICONQUESTION HEX: 00000020
-CONSTANT: MB_OK HEX: 00000000
+CONSTANT: MB_ICONASTERISK 0x00000040
+CONSTANT: MB_ICONEXCLAMATION 0x00000030
+CONSTANT: MB_ICONHAND 0x00000010
+CONSTANT: MB_ICONQUESTION 0x00000020
+CONSTANT: MB_OK 0x00000000
ALIAS: FVIRTKEY TRUE
CONSTANT: FNOINVERT 2
CONSTANT: TME_HOVER 1
CONSTANT: TME_LEAVE 2
CONSTANT: TME_NONCLIENT 16
-CONSTANT: TME_QUERY HEX: 40000000
-CONSTANT: TME_CANCEL HEX: 80000000
-CONSTANT: HOVER_DEFAULT HEX: ffffffff
+CONSTANT: TME_QUERY 0x40000000
+CONSTANT: TME_CANCEL 0x80000000
+CONSTANT: HOVER_DEFAULT 0xffffffff
STRUCT: TRACKMOUSEEVENT
{ cbSize DWORD }
{ dwFlags DWORD }
{ dwHoverTime DWORD } ;
TYPEDEF: TRACKMOUSEEVENT* LPTRACKMOUSEEVENT
-CONSTANT: DBT_DEVICEARRIVAL HEX: 8000
-CONSTANT: DBT_DEVICEREMOVECOMPLETE HEX: 8004
+CONSTANT: DBT_DEVICEARRIVAL 0x8000
+CONSTANT: DBT_DEVICEREMOVECOMPLETE 0x8004
CONSTANT: DBT_DEVTYP_DEVICEINTERFACE 5
CONSTANT: SWP_NOCOPYBITS 256
CONSTANT: SWP_NOOWNERZORDER 512
CONSTANT: SWP_NOSENDCHANGING 1024
-CONSTANT: SWP_DRAWFRAME SWP_FRAMECHANGED
-CONSTANT: SWP_NOREPOSITION SWP_NOOWNERZORDER
+ALIAS: SWP_DRAWFRAME SWP_FRAMECHANGED
+ALIAS: SWP_NOREPOSITION SWP_NOOWNERZORDER
CONSTANT: SWP_DEFERERASE 8192
CONSTANT: SWP_ASYNCWINDOWPOS 16384
-CONSTANT: MF_ENABLED HEX: 0000
-CONSTANT: MF_GRAYED HEX: 0001
-CONSTANT: MF_DISABLED HEX: 0002
-CONSTANT: MF_STRING HEX: 0000
-CONSTANT: MF_BITMAP HEX: 0004
-CONSTANT: MF_UNCHECKED HEX: 0000
-CONSTANT: MF_CHECKED HEX: 0008
-CONSTANT: MF_POPUP HEX: 0010
-CONSTANT: MF_MENUBARBREAK HEX: 0020
-CONSTANT: MF_MENUBREAK HEX: 0040
-CONSTANT: MF_UNHILITE HEX: 0000
-CONSTANT: MF_HILITE HEX: 0080
-CONSTANT: MF_OWNERDRAW HEX: 0100
-CONSTANT: MF_USECHECKBITMAPS HEX: 0200
-CONSTANT: MF_BYCOMMAND HEX: 0000
-CONSTANT: MF_BYPOSITION HEX: 0400
-CONSTANT: MF_SEPARATOR HEX: 0800
-CONSTANT: MF_DEFAULT HEX: 1000
-CONSTANT: MF_SYSMENU HEX: 2000
-CONSTANT: MF_HELP HEX: 4000
-CONSTANT: MF_RIGHTJUSTIFY HEX: 4000
-CONSTANT: MF_MOUSESELECT HEX: 8000
+CONSTANT: MF_ENABLED 0x0000
+CONSTANT: MF_GRAYED 0x0001
+CONSTANT: MF_DISABLED 0x0002
+CONSTANT: MF_STRING 0x0000
+CONSTANT: MF_BITMAP 0x0004
+CONSTANT: MF_UNCHECKED 0x0000
+CONSTANT: MF_CHECKED 0x0008
+CONSTANT: MF_POPUP 0x0010
+CONSTANT: MF_MENUBARBREAK 0x0020
+CONSTANT: MF_MENUBREAK 0x0040
+CONSTANT: MF_UNHILITE 0x0000
+CONSTANT: MF_HILITE 0x0080
+CONSTANT: MF_OWNERDRAW 0x0100
+CONSTANT: MF_USECHECKBITMAPS 0x0200
+CONSTANT: MF_BYCOMMAND 0x0000
+CONSTANT: MF_BYPOSITION 0x0400
+CONSTANT: MF_SEPARATOR 0x0800
+CONSTANT: MF_DEFAULT 0x1000
+CONSTANT: MF_SYSMENU 0x2000
+CONSTANT: MF_HELP 0x4000
+CONSTANT: MF_RIGHTJUSTIFY 0x4000
+CONSTANT: MF_MOUSESELECT 0x8000
+
+CONSTANT: SPI_GETBEEP 1
+CONSTANT: SPI_SETBEEP 2
+CONSTANT: SPI_GETMOUSE 3
+CONSTANT: SPI_SETMOUSE 4
+CONSTANT: SPI_GETBORDER 5
+CONSTANT: SPI_SETBORDER 6
+CONSTANT: SPI_GETKEYBOARDSPEED 10
+CONSTANT: SPI_SETKEYBOARDSPEED 11
+CONSTANT: SPI_LANGDRIVER 12
+CONSTANT: SPI_ICONHORIZONTALSPACING 13
+CONSTANT: SPI_GETSCREENSAVETIMEOUT 14
+CONSTANT: SPI_SETSCREENSAVETIMEOUT 15
+CONSTANT: SPI_GETSCREENSAVEACTIVE 16
+CONSTANT: SPI_SETSCREENSAVEACTIVE 17
+CONSTANT: SPI_GETGRIDGRANULARITY 18
+CONSTANT: SPI_SETGRIDGRANULARITY 19
+CONSTANT: SPI_SETDESKWALLPAPER 20
+CONSTANT: SPI_SETDESKPATTERN 21
+CONSTANT: SPI_GETKEYBOARDDELAY 22
+CONSTANT: SPI_SETKEYBOARDDELAY 23
+CONSTANT: SPI_ICONVERTICALSPACING 24
+CONSTANT: SPI_GETICONTITLEWRAP 25
+CONSTANT: SPI_SETICONTITLEWRAP 26
+CONSTANT: SPI_GETMENUDROPALIGNMENT 27
+CONSTANT: SPI_SETMENUDROPALIGNMENT 28
+CONSTANT: SPI_SETDOUBLECLKWIDTH 29
+CONSTANT: SPI_SETDOUBLECLKHEIGHT 30
+CONSTANT: SPI_GETICONTITLELOGFONT 31
+CONSTANT: SPI_SETDOUBLECLICKTIME 32
+CONSTANT: SPI_SETMOUSEBUTTONSWAP 33
+CONSTANT: SPI_SETICONTITLELOGFONT 34
+CONSTANT: SPI_GETFASTTASKSWITCH 35
+CONSTANT: SPI_SETFASTTASKSWITCH 36
+CONSTANT: SPI_SETDRAGFULLWINDOWS 37
+CONSTANT: SPI_GETDRAGFULLWINDOWS 38
+
+CONSTANT: SPI_GETFILTERKEYS 50
+CONSTANT: SPI_SETFILTERKEYS 51
+CONSTANT: SPI_GETTOGGLEKEYS 52
+CONSTANT: SPI_SETTOGGLEKEYS 53
+CONSTANT: SPI_GETMOUSEKEYS 54
+CONSTANT: SPI_SETMOUSEKEYS 55
+CONSTANT: SPI_GETSHOWSOUNDS 56
+CONSTANT: SPI_SETSHOWSOUNDS 57
+CONSTANT: SPI_GETSTICKYKEYS 58
+CONSTANT: SPI_SETSTICKYKEYS 59
+CONSTANT: SPI_GETACCESSTIMEOUT 60
+CONSTANT: SPI_SETACCESSTIMEOUT 61
+
+CONSTANT: SPI_GETSOUNDSENTRY 64
+CONSTANT: SPI_SETSOUNDSENTRY 65
+
+! WINVER >= 0x0400
+CONSTANT: SPI_GETNONCLIENTMETRICS 41
+CONSTANT: SPI_SETNONCLIENTMETRICS 42
+CONSTANT: SPI_GETMINIMIZEDMETRICS 43
+CONSTANT: SPI_SETMINIMIZEDMETRICS 44
+CONSTANT: SPI_GETICONMETRICS 45
+CONSTANT: SPI_SETICONMETRICS 46
+CONSTANT: SPI_SETWORKAREA 47
+CONSTANT: SPI_GETWORKAREA 48
+CONSTANT: SPI_SETPENWINDOWS 49
+
+CONSTANT: SPI_GETSERIALKEYS 62
+CONSTANT: SPI_SETSERIALKEYS 63
+CONSTANT: SPI_GETHIGHCONTRAST 66
+CONSTANT: SPI_SETHIGHCONTRAST 67
+CONSTANT: SPI_GETKEYBOARDPREF 68
+CONSTANT: SPI_SETKEYBOARDPREF 69
+CONSTANT: SPI_GETSCREENREADER 70
+CONSTANT: SPI_SETSCREENREADER 71
+CONSTANT: SPI_GETANIMATION 72
+CONSTANT: SPI_SETANIMATION 73
+CONSTANT: SPI_GETFONTSMOOTHING 74
+CONSTANT: SPI_SETFONTSMOOTHING 75
+CONSTANT: SPI_SETDRAGWIDTH 76
+CONSTANT: SPI_SETDRAGHEIGHT 77
+CONSTANT: SPI_SETHANDHELD 78
+CONSTANT: SPI_GETLOWPOWERTIMEOUT 79
+CONSTANT: SPI_GETPOWEROFFTIMEOUT 80
+CONSTANT: SPI_SETLOWPOWERTIMEOUT 81
+CONSTANT: SPI_SETPOWEROFFTIMEOUT 82
+CONSTANT: SPI_GETLOWPOWERACTIVE 83
+CONSTANT: SPI_GETPOWEROFFACTIVE 84
+CONSTANT: SPI_SETLOWPOWERACTIVE 85
+CONSTANT: SPI_SETPOWEROFFACTIVE 86
+CONSTANT: SPI_SETCURSORS 87
+CONSTANT: SPI_SETICONS 88
+CONSTANT: SPI_GETDEFAULTINPUTLANG 89
+CONSTANT: SPI_SETDEFAULTINPUTLANG 90
+CONSTANT: SPI_SETLANGTOGGLE 91
+CONSTANT: SPI_GETWINDOWSEXTENSION 92
+CONSTANT: SPI_SETMOUSETRAILS 93
+CONSTANT: SPI_GETMOUSETRAILS 94
+CONSTANT: SPI_SETSCREENSAVERRUNNING 97
+ALIAS: SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING
+
+! WIN32_WINNT >= 0x0400 || WIN32_WINDOWS > 0x0400
+CONSTANT: SPI_GETMOUSEHOVERWIDTH 98
+CONSTANT: SPI_SETMOUSEHOVERWIDTH 99
+CONSTANT: SPI_GETMOUSEHOVERHEIGHT 100
+CONSTANT: SPI_SETMOUSEHOVERHEIGHT 101
+CONSTANT: SPI_GETMOUSEHOVERTIME 102
+CONSTANT: SPI_SETMOUSEHOVERTIME 103
+CONSTANT: SPI_GETWHEELSCROLLLINES 104
+CONSTANT: SPI_SETWHEELSCROLLLINES 105
+
+CONSTANT: SPI_GETSHOWIMEUI 110
+CONSTANT: SPI_SETSHOWIMEUI 111
+
+! WINVER >= 0x0500
+CONSTANT: SPI_GETMOUSESPEED 112
+CONSTANT: SPI_SETMOUSESPEED 113
+CONSTANT: SPI_GETSCREENSAVERRUNNING 114
+
+CONSTANT: SPI_GETACTIVEWINDOWTRACKING 0x1000
+CONSTANT: SPI_SETACTIVEWINDOWTRACKING 0x1001
+CONSTANT: SPI_GETMENUANIMATION 0x1002
+CONSTANT: SPI_SETMENUANIMATION 0x1003
+CONSTANT: SPI_GETCOMBOBOXANIMATION 0x1004
+CONSTANT: SPI_SETCOMBOBOXANIMATION 0x1005
+CONSTANT: SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
+CONSTANT: SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
+CONSTANT: SPI_GETGRADIENTCAPTIONS 0x1008
+CONSTANT: SPI_SETGRADIENTCAPTIONS 0x1009
+CONSTANT: SPI_GETMENUUNDERLINES 0x100A
+CONSTANT: SPI_SETMENUUNDERLINES 0x100B
+CONSTANT: SPI_GETACTIVEWNDTRKZORDER 0x100C
+CONSTANT: SPI_SETACTIVEWNDTRKZORDER 0x100D
+CONSTANT: SPI_GETHOTTRACKING 0x100E
+CONSTANT: SPI_SETHOTTRACKING 0x100F
+CONSTANT: SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
+CONSTANT: SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
+CONSTANT: SPI_GETACTIVEWNDTRKTIMEOUT 0x2002
+CONSTANT: SPI_SETACTIVEWNDTRKTIMEOUT 0x2003
+CONSTANT: SPI_GETFOREGROUNDFLASHCOUNT 0x2004
+CONSTANT: SPI_SETFOREGROUNDFLASHCOUNT 0x2005
+
+! SystemParamInfo Flags
+CONSTANT: SPIF_UPDATEINIFILE 1
+CONSTANT: SPIF_SENDWININICHANGE 2
+ALIAS: SPIF_SENDCHANGE SPIF_SENDWININICHANGE
+
TYPEDEF: HANDLE HRAWINPUT
-: GET_RAWINPUT_CODE_WPARAM ( wParam -- n ) HEX: ff bitand ; inline
+: GET_RAWINPUT_CODE_WPARAM ( wParam -- n ) 0xff bitand ; inline
+
+CONSTANT: LLMHF_INJECTED 1
+CONSTANT: LLMHF_LOWER_IL_INJECTED 2
+
+
+CONSTANT: WH_JOURNALRECORD 0 ! global
+CONSTANT: WH_JOURNALPLAYBACK 1 ! global
+CONSTANT: WH_KEYBOARD 2 ! thread/global
+CONSTANT: WH_GETMESSAGE 3 ! thread/global
+CONSTANT: WH_CALLWNDPROC 4 ! thread/global
+CONSTANT: WH_CBT 5 ! thread/global
+CONSTANT: WH_SYSMSGFILTER 6 ! global
+CONSTANT: WH_MOUSE 7 ! thread/global
+CONSTANT: WH_DEBUG 9 ! thread/global
+CONSTANT: WH_SHELL 10 ! thread/global
+CONSTANT: WH_FOREGROUNDIDLE 11 ! thread/global
+CONSTANT: WH_CALLWNDPROCRET 12 ! thread/global
+CONSTANT: WH_KEYBOARD_LL 13 ! global
+CONSTANT: WH_MOUSE_LL 14 ! global
+CONSTANT: WH_MSGFILTER -1 ! thread/global
+
+
+STRUCT: KBDLLHOOKSTRUCT
+ { vkCode DWORD }
+ { scanCode DWORD }
+ { flags DWORD }
+ { time DWORD }
+ { dwExtraInfo ULONG_PTR } ;
+TYPEDEF: KBDLLHOOKSTRUCT* PKBDLLHOOKSTRUCT
+TYPEDEF: KBDLLHOOKSTRUCT* LPKBDLLHOOKSTRUCT
+
+STRUCT: MSLLHOOKSTRUCT
+ { pt POINT }
+ { mouseData DWORD }
+ { flags DWORD }
+ { time DWORD }
+ { dwExtraInfo ULONG_PTR } ;
+TYPEDEF: MSLLHOOKSTRUCT* PMSLLHOOKSTRUCT
+TYPEDEF: MSLLHOOKSTRUCT* LPMSLLHOOKSTRUCT
CONSTANT: RIM_INPUT 0
CONSTANT: RIM_INPUTSINK 1
TYPEDEF: RAWMOUSE* PRAWMOUSE
TYPEDEF: RAWMOUSE* LPRAWMOUSE
-CONSTANT: RI_MOUSE_LEFT_BUTTON_DOWN HEX: 0001
-CONSTANT: RI_MOUSE_LEFT_BUTTON_UP HEX: 0002
-CONSTANT: RI_MOUSE_RIGHT_BUTTON_DOWN HEX: 0004
-CONSTANT: RI_MOUSE_RIGHT_BUTTON_UP HEX: 0008
-CONSTANT: RI_MOUSE_MIDDLE_BUTTON_DOWN HEX: 0010
-CONSTANT: RI_MOUSE_MIDDLE_BUTTON_UP HEX: 0020
+CONSTANT: RI_MOUSE_LEFT_BUTTON_DOWN 0x0001
+CONSTANT: RI_MOUSE_LEFT_BUTTON_UP 0x0002
+CONSTANT: RI_MOUSE_RIGHT_BUTTON_DOWN 0x0004
+CONSTANT: RI_MOUSE_RIGHT_BUTTON_UP 0x0008
+CONSTANT: RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010
+CONSTANT: RI_MOUSE_MIDDLE_BUTTON_UP 0x0020
: RI_MOUSE_BUTTON_1_DOWN ( -- n ) RI_MOUSE_LEFT_BUTTON_DOWN ; inline
: RI_MOUSE_BUTTON_1_UP ( -- n ) RI_MOUSE_LEFT_BUTTON_UP ; inline
: RI_MOUSE_BUTTON_3_DOWN ( -- n ) RI_MOUSE_MIDDLE_BUTTON_DOWN ; inline
: RI_MOUSE_BUTTON_3_UP ( -- n ) RI_MOUSE_MIDDLE_BUTTON_UP ; inline
-CONSTANT: RI_MOUSE_BUTTON_4_DOWN HEX: 0040
-CONSTANT: RI_MOUSE_BUTTON_4_UP HEX: 0080
-CONSTANT: RI_MOUSE_BUTTON_5_DOWN HEX: 0100
-CONSTANT: RI_MOUSE_BUTTON_5_UP HEX: 0200
-CONSTANT: RI_MOUSE_WHEEL HEX: 0400
+CONSTANT: RI_MOUSE_BUTTON_4_DOWN 0x0040
+CONSTANT: RI_MOUSE_BUTTON_4_UP 0x0080
+CONSTANT: RI_MOUSE_BUTTON_5_DOWN 0x0100
+CONSTANT: RI_MOUSE_BUTTON_5_UP 0x0200
+CONSTANT: RI_MOUSE_WHEEL 0x0400
CONSTANT: MOUSE_MOVE_RELATIVE 0
CONSTANT: MOUSE_MOVE_ABSOLUTE 1
-CONSTANT: MOUSE_VIRTUAL_DESKTOP HEX: 02
-CONSTANT: MOUSE_ATTRIBUTES_CHANGED HEX: 04
-CONSTANT: MOUSE_MOVE_NOCOALESCE HEX: 08
+CONSTANT: MOUSE_VIRTUAL_DESKTOP 0x02
+CONSTANT: MOUSE_ATTRIBUTES_CHANGED 0x04
+CONSTANT: MOUSE_MOVE_NOCOALESCE 0x08
STRUCT: RAWKEYBOARD
{ MakeCode USHORT }
TYPEDEF: RAWKEYBOARD* PRAWKEYBOARD
TYPEDEF: RAWKEYBOARD* LPRAWKEYBOARD
-CONSTANT: KEYBOARD_OVERRUN_MAKE_CODE HEX: FF
+CONSTANT: KEYBOARD_OVERRUN_MAKE_CODE 0xFF
CONSTANT: RI_KEY_MAKE 0
CONSTANT: RI_KEY_BREAK 1
CONSTANT: RI_KEY_E0 2
CONSTANT: RI_KEY_E1 4
CONSTANT: RI_KEY_TERMSRV_SET_LED 8
-CONSTANT: RI_KEY_TERMSRV_SHADOW HEX: 10
+CONSTANT: RI_KEY_TERMSRV_SHADOW 0x10
STRUCT: RAWHID
{ dwSizeHid DWORD }
: NEXTRAWINPUTBLOCK ( struct -- next-struct )
dup header>> dwSize>> swap <displaced-alien> RAWINPUT_ALIGN RAWINPUT memory>struct ; inline
-CONSTANT: RID_INPUT HEX: 10000003
-CONSTANT: RID_HEADER HEX: 10000005
-CONSTANT: RIDI_PREPARSEDDATA HEX: 20000005
-CONSTANT: RIDI_DEVICENAME HEX: 20000007
-CONSTANT: RIDI_DEVICEINFO HEX: 2000000b
+CONSTANT: RID_INPUT 0x10000003
+CONSTANT: RID_HEADER 0x10000005
+CONSTANT: RIDI_PREPARSEDDATA 0x20000005
+CONSTANT: RIDI_DEVICENAME 0x20000007
+CONSTANT: RIDI_DEVICEINFO 0x2000000b
STRUCT: RID_DEVICE_INFO_MOUSE
{ dwId DWORD }
TYPEDEF: RAWINPUTDEVICE* LPRAWINPUTDEVICE
TYPEDEF: RAWINPUTDEVICE* PCRAWINPUTDEVICE
-CONSTANT: RIDEV_REMOVE HEX: 00000001
-CONSTANT: RIDEV_EXCLUDE HEX: 00000010
-CONSTANT: RIDEV_PAGEONLY HEX: 00000020
-CONSTANT: RIDEV_NOLEGACY HEX: 00000030
-CONSTANT: RIDEV_INPUTSINK HEX: 00000100
-CONSTANT: RIDEV_CAPTUREMOUSE HEX: 00000200
-CONSTANT: RIDEV_NOHOTKEYS HEX: 00000200
-CONSTANT: RIDEV_APPKEYS HEX: 00000400
-CONSTANT: RIDEV_EXINPUTSINK HEX: 00001000
-CONSTANT: RIDEV_DEVNOTIFY HEX: 00002000
-CONSTANT: RIDEV_EXMODEMASK HEX: 000000F0
+CONSTANT: RIDEV_REMOVE 0x00000001
+CONSTANT: RIDEV_EXCLUDE 0x00000010
+CONSTANT: RIDEV_PAGEONLY 0x00000020
+CONSTANT: RIDEV_NOLEGACY 0x00000030
+CONSTANT: RIDEV_INPUTSINK 0x00000100
+CONSTANT: RIDEV_CAPTUREMOUSE 0x00000200
+CONSTANT: RIDEV_NOHOTKEYS 0x00000200
+CONSTANT: RIDEV_APPKEYS 0x00000400
+CONSTANT: RIDEV_EXINPUTSINK 0x00001000
+CONSTANT: RIDEV_DEVNOTIFY 0x00002000
+CONSTANT: RIDEV_EXMODEMASK 0x000000F0
: RIDEV_EXMODE ( mode -- x ) RIDEV_EXMODEMASK bitand ; inline
CONSTANT: GIDC_ARRIVAL 1
CONSTANT: GIDC_REMOVAL 2
-: GET_DEVICE_CHANGE_WPARAM ( wParam -- x ) HEX: ffff bitand ; inline
+: GET_DEVICE_CHANGE_WPARAM ( wParam -- x ) 0xffff bitand ; inline
STRUCT: RAWINPUTDEVICELIST
{ hDevice HANDLE }
{ dwType DWORD } ;
TYPEDEF: RAWINPUTDEVICELIST* PRAWINPUTDEVICELIST
+CONSTANT: CCHFORMNAME 32
+
+CONSTANT: CDS_UPDATEREGISTRY 0x00000001
+CONSTANT: CDS_TEST 0x00000002
+CONSTANT: CDS_FULLSCREEN 0x00000004
+CONSTANT: CDS_GLOBAL 0x00000008
+CONSTANT: CDS_SET_PRIMARY 0x00000010
+CONSTANT: CDS_RESET 0x40000000
+CONSTANT: CDS_SETRECT 0x20000000
+CONSTANT: CDS_NORESET 0x10000000
+
+CONSTANT: DISP_CHANGE_SUCCESSFUL 0
+CONSTANT: DISP_CHANGE_RESTART 1
+CONSTANT: DISP_CHANGE_FAILED -1
+CONSTANT: DISP_CHANGE_BADMODE -2
+CONSTANT: DISP_CHANGE_NOTUPDATED -3
+CONSTANT: DISP_CHANGE_BADFLAGS -4
+CONSTANT: DISP_CHANGE_BADPARAM -5
+
+
+
+STRUCT: DEVMODE
+ { dmDeviceName TCHAR[CCHDEVICENAME] }
+ { dmSpecVersion WORD }
+ { dmDriverVersion WORD }
+ { dmSize WORD }
+ { dmDriverExtra WORD }
+ { dmFields DWORD }
+
+ { dmOrientation short }
+ { dmPaperSize short }
+ { dmPaperLength short }
+ { dmPaperWidth short }
+ { dmScale short }
+ { dmCopies short }
+ { dmDefaultSource short }
+ { dmPrintQuality short }
+
+ { dmColor short }
+ { dmDuplex short }
+ { dmYResolution short }
+ { dmTTOption short }
+ { dmCollate short }
+ { dmFormName TCHAR[CCHFORMNAME] }
+ { dmLogPixels WORD }
+ { dmBitsPerPel DWORD }
+ { dmPelsWidth DWORD }
+ { dmPelsHeight DWORD }
+ { dmDisplayFlags DWORD }
+ { dmDisplayFrequency DWORD }
+ { dmiCMMethod DWORD }
+ { dmICMIntent DWORD }
+
+ { dmMediaType DWORD }
+ { dmDitherType DWORD }
+ { dmReserved1 DWORD }
+ { dmReserved2 DWORD }
+ { dmPanningWidth DWORD } ;
+
+! union { DWORD dmDisplayFlags; DWORD dmNup; } ;
+ ! union {
+ ! struct {
+ ! short dmOrientation;
+ ! short dmPaperSize;
+ ! short dmPaperLength;
+ ! short dmPaperWidth;
+ ! short dmScale;
+ ! short dmCopies;
+ ! short dmDefaultSource;
+ ! short dmPrintQuality;
+ ! } ;
+ ! struct {
+ ! POINTL dmPosition;
+ ! DWORD dmDisplayOrientation;
+ ! DWORD dmDisplayFixedOutput;
+ ! } ;
+ ! } ;
+
+TYPEDEF: DEVMODE* PDEVMODE
+TYPEDEF: DEVMODE* LPDEVMODE
+
+CONSTANT: MSGFLT_ADD 1
+CONSTANT: MSGFLT_REMOVE 2
+
+CONSTANT: MSGFLT_RESET 0
+CONSTANT: MSGFLT_ALLOW 1
+CONSTANT: MSGFLT_DISALLOW 2
+
+STRUCT: CHANGEFILTERSTRUCT
+ { cbSize DWORD }
+ { ExtStatus DWORD } ;
+TYPEDEF: CHANGEFILTERSTRUCT* PCHANGEFILTERSTRUCT
+
+CONSTANT: INPUT_MOUSE 0
+CONSTANT: INPUT_KEYBOARD 1
+CONSTANT: INPUT_HARDWARE 2
+
+CONSTANT: XBUTTON1 1
+CONSTANT: XBUTTON2 2
+
+CONSTANT: MOUSEEVENTF_ABSOLUTE 0x8000
+CONSTANT: MOUSEEVENTF_HWHEEL 0x01000
+CONSTANT: MOUSEEVENTF_MOVE 0x0001
+CONSTANT: MOUSEEVENTF_MOVE_NOCOALESCE 0x2000
+CONSTANT: MOUSEEVENTF_LEFTDOWN 0x0002
+CONSTANT: MOUSEEVENTF_LEFTUP 0x0004
+CONSTANT: MOUSEEVENTF_RIGHTDOWN 0x0008
+CONSTANT: MOUSEEVENTF_RIGHTUP 0x0010
+CONSTANT: MOUSEEVENTF_MIDDLEDOWN 0x0020
+CONSTANT: MOUSEEVENTF_MIDDLEUP 0x0040
+CONSTANT: MOUSEEVENTF_VIRTUALDESK 0x4000
+CONSTANT: MOUSEEVENTF_WHEEL 0x0800
+CONSTANT: MOUSEEVENTF_XDOWN 0x0080
+CONSTANT: MOUSEEVENTF_XUP 0x0100
+
+STRUCT: MOUSEINPUT
+ { dx LONG }
+ { dy LONG }
+ { mouseData DWORD }
+ { dwFlags DWORD }
+ { time DWORD }
+ { dwExtraInfo ULONG_PTR } ;
+TYPEDEF: MOUSEINPUT* PMOUSEINPUT
+
+CONSTANT: KEYEVENTF_EXTENDEDKEY 1
+CONSTANT: KEYEVENTF_KEYUP 2
+CONSTANT: KEYEVENTF_UNICODE 4
+CONSTANT: KEYEVENTF_SCANCODE 8
+
+
+STRUCT: KEYBDINPUT
+ { wVk WORD }
+ { wScan WORD }
+ { dwFlags DWORD }
+ { time DWORD }
+ { dwExtraInfo ULONG_PTR } ;
+TYPEDEF: KEYBDINPUT* PKEYBDINPUT
+
+STRUCT: HARDWAREINPUT
+ { uMsg DWORD }
+ { wParamL WORD }
+ { wParamH WORD } ;
+TYPEDEF: HARDWAREINPUT* PHARDWAREINPUT
+
+
+UNION-STRUCT: ANYINPUT
+ { mi MOUSEINPUT }
+ { ki KEYBDINPUT }
+ { hi HARDWAREINPUT } ;
+
+STRUCT: INPUT
+ { type DWORD }
+ { input ANYINPUT } ;
+TYPEDEF: INPUT* PINPUT
+TYPEDEF: INPUT* LPINPUT
+
+
+CONSTANT: LR_DEFAULTCOLOR 0x00
+CONSTANT: LR_MONOCHROME 0x01
+CONSTANT: LR_COLOR 0x02
+CONSTANT: LR_COPYRETURNORG 0x04
+CONSTANT: LR_COPYDELETEORG 0x08
+CONSTANT: LR_LOADFROMFILE 0x10
+CONSTANT: LR_LOADTRANSPARENT 0x20
+CONSTANT: LR_DEFAULTSIZE 0x40
+CONSTANT: LR_VGACOLOR 0x80
+CONSTANT: LR_LOADMAP3DCOLORS 0x1000
+CONSTANT: LR_CREATEDIBSECTION 0x2000
+CONSTANT: LR_COPYFROMRESOURCE 0x4000
+CONSTANT: LR_SHARED 0x8000
+
+CONSTANT: IMAGE_BITMAP 0
+CONSTANT: IMAGE_ICON 1
+CONSTANT: IMAGE_CURSOR 2
+
+CONSTANT: IDI_APPLICATION 32512
+CONSTANT: IDI_ASTERISK 21516
+CONSTANT: IDI_ERROR 32513
+CONSTANT: IDI_EXCLAMATION 32515
+CONSTANT: IDI_HAND 32513
+CONSTANT: IDI_INFORMATION 32516
+CONSTANT: IDI_QUESTION 32514
+CONSTANT: IDI_SHIELD 32518
+CONSTANT: IDI_WARNING 32515
+CONSTANT: IDI_WINLOGO 32517
+
+CONSTANT: OBM_BTNCORNERS 32758
+CONSTANT: OBM_BTSIZE 32761
+CONSTANT: OBM_CHECK 32760
+CONSTANT: OBM_CHECKBOXES 32759
+CONSTANT: OBM_CLOSE 32754
+CONSTANT: OBM_COMBO 32738
+CONSTANT: OBM_DNARROW 32752
+CONSTANT: OBM_DNARROWD 32742
+CONSTANT: OBM_DNARROWI 32736
+CONSTANT: OBM_LFARROW 32750
+CONSTANT: OBM_LFARROWI 32734
+CONSTANT: OBM_LFARROWD 32740
+CONSTANT: OBM_MNARROW 32739
+CONSTANT: OBM_OLD_CLOSE 32767
+CONSTANT: OBM_OLD_DNARROW 32764
+CONSTANT: OBM_OLD_LFARROW 32762
+CONSTANT: OBM_OLD_REDUCE 32757
+CONSTANT: OBM_OLD_RESTORE 32755
+CONSTANT: OBM_OLD_RGARROW 32763
+CONSTANT: OBM_OLD_UPARROW 32765
+CONSTANT: OBM_OLD_ZOOM 32756
+CONSTANT: OBM_REDUCE 32749
+CONSTANT: OBM_REDUCED 32746
+CONSTANT: OBM_RESTORE 32747
+CONSTANT: OBM_RESTORED 32744
+CONSTANT: OBM_RGARROW 32751
+CONSTANT: OBM_RGARROWD 32741
+CONSTANT: OBM_RGARROWI 32735
+CONSTANT: OBM_SIZE 32766
+CONSTANT: OBM_UPARROW 32753
+CONSTANT: OBM_UPARROWD 32743
+CONSTANT: OBM_UPARROWI 32737
+CONSTANT: OBM_ZOOM 32748
+CONSTANT: OBM_ZOOMD 32745
+CONSTANT: OCR_NORMAL 32512
+CONSTANT: OCR_IBEAM 32513
+CONSTANT: OCR_WAIT 32514
+CONSTANT: OCR_CROSS 32515
+CONSTANT: OCR_UP 32516
+CONSTANT: OCR_SIZE 32640
+CONSTANT: OCR_ICON 32641
+CONSTANT: OCR_SIZENWSE 32642
+CONSTANT: OCR_SIZENESW 32643
+CONSTANT: OCR_SIZEWE 32644
+CONSTANT: OCR_SIZENS 32645
+CONSTANT: OCR_SIZEALL 32646
+CONSTANT: OCR_NO 32648
+CONSTANT: OCR_APPSTARTING 32650
+CONSTANT: OIC_SAMPLE 32512
+CONSTANT: OIC_HAND 32513
+CONSTANT: OIC_QUES 32514
+CONSTANT: OIC_BANG 32515
+CONSTANT: OIC_NOTE 32516
+CONSTANT: OIC_WINLOGO 32517
+CONSTANT: OIC_WARNING 32515
+CONSTANT: OIC_ERROR 32513
+CONSTANT: OIC_INFORMATION 32516
+
+CONSTANT: SM_CXSCREEN 0
+CONSTANT: SM_CYSCREEN 1
+CONSTANT: SM_CXVSCROLL 2
+CONSTANT: SM_CYHSCROLL 3
+CONSTANT: SM_CYCAPTION 4
+CONSTANT: SM_CXBORDER 5
+CONSTANT: SM_CYBORDER 6
+CONSTANT: SM_CXDLGFRAME 7
+CONSTANT: SM_CXFIXEDFRAME 7
+CONSTANT: SM_CYDLGFRAME 8
+CONSTANT: SM_CYFIXEDFRAME 8
+CONSTANT: SM_CYVTHUMB 9
+CONSTANT: SM_CXHTHUMB 10
+CONSTANT: SM_CXICON 11
+CONSTANT: SM_CYICON 12
+CONSTANT: SM_CXCURSOR 13
+CONSTANT: SM_CYCURSOR 14
+CONSTANT: SM_CYMENU 15
+CONSTANT: SM_CXFULLSCREEN 16
+CONSTANT: SM_CYFULLSCREEN 17
+CONSTANT: SM_CYKANJIWINDOW 18
+CONSTANT: SM_MOUSEPRESENT 19
+CONSTANT: SM_CYVSCROLL 20
+CONSTANT: SM_CXHSCROLL 21
+CONSTANT: SM_DEBUG 22
+CONSTANT: SM_SWAPBUTTON 23
+CONSTANT: SM_RESERVED1 24
+CONSTANT: SM_RESERVED2 25
+CONSTANT: SM_RESERVED3 26
+CONSTANT: SM_RESERVED4 27
+CONSTANT: SM_CXMIN 28
+CONSTANT: SM_CYMIN 29
+CONSTANT: SM_CXSIZE 30
+CONSTANT: SM_CYSIZE 31
+CONSTANT: SM_CXSIZEFRAME 32
+CONSTANT: SM_CXFRAME 32
+CONSTANT: SM_CYSIZEFRAME 33
+CONSTANT: SM_CYFRAME 33
+CONSTANT: SM_CXMINTRACK 34
+CONSTANT: SM_CYMINTRACK 35
+CONSTANT: SM_CXDOUBLECLK 36
+CONSTANT: SM_CYDOUBLECLK 37
+CONSTANT: SM_CXICONSPACING 38
+CONSTANT: SM_CYICONSPACING 39
+CONSTANT: SM_MENUDROPALIGNMENT 40
+CONSTANT: SM_PENWINDOWS 41
+CONSTANT: SM_DBCSENABLED 42
+CONSTANT: SM_CMOUSEBUTTONS 43
+CONSTANT: SM_SECURE 44
+CONSTANT: SM_CXEDGE 45
+CONSTANT: SM_CYEDGE 46
+CONSTANT: SM_CXMINSPACING 47
+CONSTANT: SM_CYMINSPACING 48
+CONSTANT: SM_CXSMICON 49
+CONSTANT: SM_CYSMICON 50
+CONSTANT: SM_CYSMCAPTION 51
+CONSTANT: SM_CXSMSIZE 52
+CONSTANT: SM_CYSMSIZE 53
+CONSTANT: SM_CXMENUSIZE 54
+CONSTANT: SM_CYMENUSIZE 55
+CONSTANT: SM_ARRANGE 56
+CONSTANT: SM_CXMINIMIZED 57
+CONSTANT: SM_CYMINIMIZED 58
+CONSTANT: SM_CXMAXTRACK 59
+CONSTANT: SM_CYMAXTRACK 60
+CONSTANT: SM_CXMAXIMIZED 61
+CONSTANT: SM_CYMAXIMIZED 62
+CONSTANT: SM_NETWORK 63
+! CONSTANT: LR_DEFAULTSIZE 64
+CONSTANT: SM_CLEANBOOT 67
+CONSTANT: SM_CXDRAG 68
+CONSTANT: SM_CYDRAG 69
+CONSTANT: SM_SHOWSOUNDS 70
+CONSTANT: SM_CXMENUCHECK 71
+CONSTANT: SM_CYMENUCHECK 72
+CONSTANT: SM_SLOWMACHINE 73
+CONSTANT: SM_MIDEASTENABLED 74
+CONSTANT: SM_MOUSEWHEELPRESENT 75
+CONSTANT: SM_XVIRTUALSCREEN 76
+CONSTANT: SM_YVIRTUALSCREEN 77
+CONSTANT: SM_CXVIRTUALSCREEN 78
+CONSTANT: SM_CYVIRTUALSCREEN 79
+CONSTANT: SM_CMONITORS 80
+CONSTANT: SM_SAMEDISPLAYFORMAT 81
+CONSTANT: SM_IMMENABLED 82
+CONSTANT: SM_CXFOCUSBORDER 83
+CONSTANT: SM_CYFOCUSBORDER 84
+CONSTANT: SM_TABLETPC 86
+CONSTANT: SM_MEDIACENTER 87
+CONSTANT: SM_CMETRICS 88
+CONSTANT: SM_REMOTESESSION 0X1000
+
+CONSTANT: DF_ALLOWOTHERACCOUNTHOOK 1
+
LIBRARY: user32
-FUNCTION: HKL ActivateKeyboardLayout ( HKL hkl, UINT Flags ) ;
-FUNCTION: BOOL AdjustWindowRect ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu ) ;
-FUNCTION: BOOL AdjustWindowRectEx ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle ) ;
+FUNCTION: HKL ActivateKeyboardLayout ( HKL hkl, UINT Flags )
+FUNCTION: BOOL AdjustWindowRect ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu )
+FUNCTION: BOOL AdjustWindowRectEx ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle )
! FUNCTION: AlignRects
! FUNCTION: AllowForegroundActivation
! FUNCTION: AllowSetForegroundWindow
! FUNCTION: AnimateWindow
-FUNCTION: BOOL AnyPopup ( ) ;
+FUNCTION: BOOL AnyPopup ( )
! FUNCTION: AppendMenuA
! FUNCTION: AppendMenuW
! FUNCTION: AttachThreadInput
! FUNCTION: BeginDeferWindowPos
-FUNCTION: HDC BeginPaint ( HWND hwnd, LPPAINTSTRUCT lpPaint ) ;
+FUNCTION: HDC BeginPaint ( HWND hwnd, LPPAINTSTRUCT lpPaint )
! FUNCTION: BlockInput
! FUNCTION: BringWindowToTop
! FUNCTION: CallMsgFilter
! FUNCTION: CallMsgFilterA
! FUNCTION: CallMsgFilterW
-! FUNCTION: CallNextHookEx
+FUNCTION: LRESULT CallNextHookEx ( HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam )
! FUNCTION: CallWindowProcA
! FUNCTION: CallWindowProcW
! FUNCTION: CascadeChildWindows
! FUNCTION: CascadeWindows
! FUNCTION: ChangeClipboardChain
-! FUNCTION: ChangeDisplaySettingsA
-! FUNCTION: ChangeDisplaySettingsExA
-! FUNCTION: ChangeDisplaySettingsExW
-! FUNCTION: ChangeDisplaySettingsW
+FUNCTION: LONG ChangeDisplaySettingsExW ( LPCTSTR lpszDeviceName, DEVMODE *lpDevMode, HWND hwnd, DWORD dwFlags, LPVOID lParam )
+FUNCTION: LONG ChangeDisplaySettingsW ( DEVMODE *lpDevMode, DWORD dwFlags )
+ALIAS: ChangeDisplaySettingsEx ChangeDisplaySettingsExW
+ALIAS: ChangeDisplaySettings ChangeDisplaySettingsW
! FUNCTION: ChangeMenuA
! FUNCTION: ChangeMenuW
+
+FUNCTION: BOOL ChangeWindowMessageFilter (
+ UINT message,
+ DWORD dwFlag )
+FUNCTION: BOOL ChangeWindowMessageFilterEx (
+ HWND hWnd,
+ UINT message,
+ DWORD action,
+ PCHANGEFILTERSTRUCT pChangeFilterStruct )
+
! FUNCTION: CharLowerA
! FUNCTION: CharLowerBuffA
! FUNCTION: CharLowerBuffW
! FUNCTION: CheckMenuItem
! FUNCTION: CheckMenuRadioItem
! FUNCTION: CheckRadioButton
-FUNCTION: HWND ChildWindowFromPoint ( HWND hWndParent, POINT point ) ;
+FUNCTION: HWND ChildWindowFromPoint ( HWND hWndParent, POINT point )
! FUNCTION: ChildWindowFromPointEx
! FUNCTION: ClientThreadSetup
-FUNCTION: BOOL ClientToScreen ( HWND hWnd, POINT* point ) ;
+FUNCTION: BOOL ClientToScreen ( HWND hWnd, POINT* point )
! FUNCTION: CliImmSetHotKey
-FUNCTION: int ClipCursor ( RECT* clipRect ) ;
-FUNCTION: BOOL CloseClipboard ( ) ;
+FUNCTION: int ClipCursor ( RECT* clipRect )
+FUNCTION: BOOL CloseClipboard ( )
! FUNCTION: CloseDesktop
! FUNCTION: CloseWindow
! FUNCTION: CloseWindowStation
! FUNCTION: CopyAcceleratorTableA
-FUNCTION: int CopyAcceleratorTableW ( HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries ) ;
+FUNCTION: int CopyAcceleratorTableW ( HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries )
ALIAS: CopyAcceleratorTable CopyAcceleratorTableW
! FUNCTION: CopyIcon
! FUNCTION: CopyImage
! FUNCTION: CopyRect
! FUNCTION: CountClipboardFormats
! FUNCTION: CreateAcceleratorTableA
-FUNCTION: HACCEL CreateAcceleratorTableW ( LPACCEL lpaccl, int cEntries ) ;
+FUNCTION: HACCEL CreateAcceleratorTableW ( LPACCEL lpaccl, int cEntries )
ALIAS: CreateAcceleratorTable CreateAcceleratorTableW
! FUNCTION: CreateCaret
! FUNCTION: CreateCursor
! FUNCTION: CreateDesktopA
-! FUNCTION: CreateDesktopW
+FUNCTION: HDESK CreateDesktopW ( LPCTSTR lpszDesktop, LPCTSTR lpszDevice, DEVMODE* pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa )
+ALIAS: CreateDesktop CreateDesktopW
! FUNCTION: CreateDialogIndirectParamA
! FUNCTION: CreateDialogIndirectParamAorW
! FUNCTION: CreateDialogIndirectParamW
HWND hWndParent,
HMENU hMenu,
HINSTANCE hInstance,
- LPVOID lpParam ) ;
+ LPVOID lpParam )
ALIAS: CreateWindowEx CreateWindowExW
! FUNCTION: DefFrameProcW
! FUNCTION: DefMDIChildProcA
! FUNCTION: DefMDIChildProcW
-FUNCTION: LRESULT DefRawInputProc ( PRAWINPUT* paRawInput, INT nInput, UINT cbSizeHeader ) ;
-FUNCTION: LRESULT DefWindowProcW ( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ) ;
+FUNCTION: LRESULT DefRawInputProc ( PRAWINPUT* paRawInput, INT nInput, UINT cbSizeHeader )
+FUNCTION: LRESULT DefWindowProcW ( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam )
ALIAS: DefWindowProc DefWindowProcW
! FUNCTION: DeleteMenu
! FUNCTION: DeregisterShellHookWindow
-FUNCTION: BOOL DestroyAcceleratorTable ( HACCEL hAccel ) ;
+FUNCTION: BOOL DestroyAcceleratorTable ( HACCEL hAccel )
! FUNCTION: DestroyCaret
! FUNCTION: DestroyCursor
! FUNCTION: DestroyIcon
! FUNCTION: DestroyMenu
! FUNCTION: DestroyReasons
-FUNCTION: BOOL DestroyWindow ( HWND hWnd ) ;
+FUNCTION: BOOL DestroyWindow ( HWND hWnd )
! FUNCTION: DeviceEventWorker
! FUNCTION: DialogBoxIndirectParamA
! FUNCTION: DialogBoxIndirectParamAorW
! FUNCTION: DialogBoxParamW
! FUNCTION: DisableProcessWindowsGhosting
-FUNCTION: LONG DispatchMessageW ( MSG* lpMsg ) ;
+FUNCTION: LONG DispatchMessageW ( MSG* lpMsg )
ALIAS: DispatchMessage DispatchMessageW
! FUNCTION: DisplayExitWindowsWarnings
! FUNCTION: DragObject
-FUNCTION: BOOL DrawAnimatedRects ( HWND hWnd, int idAni, RECT* lprcFrom, RECT* lprcTo ) ;
-! FUNCTION: BOOL DrawCaption ( HWND hWnd, HDC hdc, LPRECT lprc, UINT uFlags ) ;
+FUNCTION: BOOL DrawAnimatedRects ( HWND hWnd, int idAni, RECT* lprcFrom, RECT* lprcTo )
+! FUNCTION: BOOL DrawCaption ( HWND hWnd, HDC hdc, LPRECT lprc, UINT uFlags )
! FUNCTION: DrawEdge
! FUNCTION: DrawFocusRect
! FUNCTION: DrawFrame
! FUNCTION: DrawFrameControl
-FUNCTION: BOOL DrawIcon ( HDC hDC, int X, int Y, HICON hIcon ) ;
+FUNCTION: BOOL DrawIcon ( HDC hDC, int X, int Y, HICON hIcon )
! FUNCTION: DrawIconEx
! FUNCTION: DrawMenuBar
! FUNCTION: DrawTextExW
! FUNCTION: DrawTextW
! FUNCTION: EditWndProc
-FUNCTION: BOOL EmptyClipboard ( ) ;
-FUNCTION: BOOL EnableMenuItem ( HMENU hMenu, UINT uIDEnableItem, UINT uEnable ) ;
+FUNCTION: BOOL EmptyClipboard ( )
+FUNCTION: BOOL EnableMenuItem ( HMENU hMenu, UINT uIDEnableItem, UINT uEnable )
! FUNCTION: EnableScrollBar
! FUNCTION: EnableWindow
! FUNCTION: EndDeferWindowPos
! FUNCTION: EndDialog
! FUNCTION: EndMenu
-FUNCTION: BOOL EndPaint ( HWND hWnd, PAINTSTRUCT* lpPaint) ;
+FUNCTION: BOOL EndPaint ( HWND hWnd, PAINTSTRUCT* lpPaint )
! FUNCTION: EndTask
! FUNCTION: EnterReaderModeHelper
! FUNCTION: EnumChildWindows
-FUNCTION: UINT EnumClipboardFormats ( UINT format ) ;
+FUNCTION: UINT EnumClipboardFormats ( UINT format )
! FUNCTION: EnumDesktopsA
! FUNCTION: EnumDesktopsW
-! FUNCTION: EnumDesktopWindows
+FUNCTION: BOOL EnumDesktopWindows ( HDESK hDesktop, WNDENUMPROC lpFn, LPARAM lParam )
! FUNCTION: EnumDisplayDevicesA
! FUNCTION: EnumDisplayDevicesW
-! FUNCTION: EnumDisplayMonitors
+! FUNCTION: BOOL EnumDisplayMonitors ( HDC hdc, LPCRECT lprcClip, MONITORENUMPROC lpfnEnum, LPARAM dwData )
! FUNCTION: EnumDisplaySettingsA
! FUNCTION: EnumDisplaySettingsExA
! FUNCTION: EnumDisplaySettingsExW
-! FUNCTION: EnumDisplaySettingsW
+FUNCTION: BOOL EnumDisplaySettingsW ( LPCTSTR lpszDeviceName, DWORD iModeNum, DEVMODE *lpDevMode )
+ALIAS: EnumDisplaySettings EnumDisplaySettingsW
! FUNCTION: EnumPropsA
! FUNCTION: EnumPropsExA
! FUNCTION: EnumPropsExW
! FUNCTION: EnumPropsW
! FUNCTION: EnumThreadWindows
-! FUNCTION: EnumWindows
+FUNCTION: BOOL EnumWindows ( WNDENUMPROC lpEnumFunc, LPARAM lParam )
! FUNCTION: EnumWindowStationsA
! FUNCTION: EnumWindowStationsW
! FUNCTION: EqualRect
! FUNCTION: ExcludeUpdateRgn
! FUNCTION: ExitWindowsEx
-FUNCTION: int FillRect ( HDC hDC, RECT* lprc, HBRUSH hbr ) ;
-FUNCTION: HWND FindWindowA ( char* lpClassName, char* lpWindowName ) ;
-FUNCTION: HWND FindWindowExA ( HWND hwndParent, HWND childAfter, char* lpClassName, char* lpWindowName ) ;
-! FUNCTION: FindWindowExW
+FUNCTION: int FillRect ( HDC hDC, RECT* lprc, HBRUSH hbr )
+FUNCTION: HWND FindWindowA ( c-string lpClassName, c-string lpWindowName )
+FUNCTION: HWND FindWindowW ( c-string lpClassName, c-string lpWindowName )
+ALIAS: FindWindow FindWindowW
+FUNCTION: HWND FindWindowExA ( HWND hwndParent, HWND childAfter, c-string lpClassName, c-string lpWindowName )
+FUNCTION: HWND FindWindowExW ( HWND hwndParent, HWND hwndChildAfter, c-string lpszClass, c-string lpszWindow )
+ALIAS: FindWindowEx FindWindowExW
! FUNCTION: FindWindowW
! FUNCTION: FlashWindow
! FUNCTION: FlashWindowEx
! FUNCTION: GetAppCompatFlags
! FUNCTION: GetAppCompatFlags2
! FUNCTION: GetAsyncKeyState
-FUNCTION: HWND GetCapture ( ) ;
+FUNCTION: HWND GetCapture ( )
! FUNCTION: GetCaretBlinkTime
! FUNCTION: GetCaretPos
-FUNCTION: BOOL GetClassInfoW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASS lpwcx ) ;
+FUNCTION: BOOL GetClassInfoW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASS lpwcx )
ALIAS: GetClassInfo GetClassInfoW
-FUNCTION: BOOL GetClassInfoExW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASSEX lpwcx ) ;
+FUNCTION: BOOL GetClassInfoExW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASSEX lpwcx )
ALIAS: GetClassInfoEx GetClassInfoExW
-FUNCTION: ULONG_PTR GetClassLongW ( HWND hWnd, int nIndex ) ;
+FUNCTION: ULONG_PTR GetClassLongW ( HWND hWnd, int nIndex )
ALIAS: GetClassLong GetClassLongW
ALIAS: GetClassLongPtr GetClassLongW
! FUNCTION: GetClassNameA
! FUNCTION: GetClassNameW
! FUNCTION: GetClassWord
-FUNCTION: BOOL GetClientRect ( HWND hWnd, LPRECT lpRect ) ;
+FUNCTION: BOOL GetClientRect ( HWND hWnd, LPRECT lpRect )
-FUNCTION: HANDLE GetClipboardData ( UINT uFormat ) ;
+FUNCTION: HANDLE GetClipboardData ( UINT uFormat )
! FUNCTION: GetClipboardFormatNameA
! FUNCTION: GetClipboardFormatNameW
-FUNCTION: HWND GetClipboardOwner ( ) ;
-FUNCTION: DWORD GetClipboardSequenceNumber ( ) ;
+FUNCTION: HWND GetClipboardOwner ( )
+FUNCTION: DWORD GetClipboardSequenceNumber ( )
! FUNCTION: GetClipboardViewer
! FUNCTION: GetClipCursor
! FUNCTION: GetComboBoxInfo
! FUNCTION: GetCursor
! FUNCTION: GetCursorFrameInfo
! FUNCTION: GetCursorInfo
-! FUNCTION: GetCursorPos
-FUNCTION: HDC GetDC ( HWND hWnd ) ;
-FUNCTION: HDC GetDCEx ( HWND hWnd, HRGN hrgnClip, DWORD flags ) ;
-! FUNCTION: GetDesktopWindow
+FUNCTION: BOOL GetCursorPos ( LPPOINT lpPoint )
+FUNCTION: HDC GetDC ( HWND hWnd )
+FUNCTION: HDC GetDCEx ( HWND hWnd, HRGN hrgnClip, DWORD flags )
+FUNCTION: HWND GetDesktopWindow ( )
! FUNCTION: GetDialogBaseUnits
! FUNCTION: GetDlgCtrlID
-! FUNCTION: GetDlgItem
+FUNCTION: HWND GetDlgItem ( HWND hDlg, int nIDDlgItem )
! FUNCTION: GetDlgItemInt
! FUNCTION: GetDlgItemTextA
-! FUNCTION: GetDlgItemTextW
-FUNCTION: uint GetDoubleClickTime ( ) ;
-FUNCTION: HWND GetFocus ( ) ;
-! FUNCTION: GetForegroundWindow
+FUNCTION: UINT GetDlgItemTextW ( HWND hDlg, int nIDDlgItem, LPTSTR lpString, int nMaxCount )
+ALIAS: GetDlgItemText GetDlgItemTextW
+FUNCTION: uint GetDoubleClickTime ( )
+FUNCTION: HWND GetFocus ( )
+FUNCTION: HWND GetForegroundWindow ( )
! FUNCTION: GetGuiResources
! FUNCTION: GetGUIThreadInfo
! FUNCTION: GetIconInfo
! FUNCTION: GetInputState
! FUNCTION: GetInternalWindowPos
! FUNCTION: GetKBCodePage
-! FUNCTION: GetKeyboardLayout
+FUNCTION: HKL GetKeyboardLayout ( DWORD idThread )
! FUNCTION: GetKeyboardLayoutList
! FUNCTION: GetKeyboardLayoutNameA
! FUNCTION: GetKeyboardLayoutNameW
! FUNCTION: GetKeyboardType
! FUNCTION: GetKeyNameTextA
! FUNCTION: GetKeyNameTextW
-FUNCTION: SHORT GetKeyState ( int nVirtKey ) ;
+FUNCTION: SHORT GetKeyState ( int nVirtKey )
! FUNCTION: GetLastActivePopup
! FUNCTION: GetLastInputInfo
! FUNCTION: GetLayeredWindowAttributes
! FUNCTION: GetMenuStringA
! FUNCTION: GetMenuStringW
-FUNCTION: BOOL GetMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax ) ;
+FUNCTION: BOOL GetMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax )
ALIAS: GetMessage GetMessageW
-! FUNCTION: GetMessageExtraInfo
+FUNCTION: LPARAM GetMessageExtraInfo ( )
! FUNCTION: GetMessagePos
! FUNCTION: GetMessageTime
! FUNCTION: GetMonitorInfoA
-FUNCTION: BOOL GetMonitorInfoW ( HMONITOR hMonitor, LPMONITORINFO lpmi ) ;
+FUNCTION: BOOL GetMonitorInfoW ( HMONITOR hMonitor, LPMONITORINFO lpmi )
ALIAS: GetMonitorInfo GetMonitorInfoW
! FUNCTION: GetMouseMovePointsEx
! FUNCTION: GetNextDlgGroupItem
! FUNCTION: GetNextDlgTabItem
! FUNCTION: GetOpenClipboardWindow
-FUNCTION: HWND GetParent ( HWND hWnd ) ;
-FUNCTION: int GetPriorityClipboardFormat ( UINT* paFormatPriorityList, int cFormats ) ;
+FUNCTION: HWND GetParent ( HWND hWnd )
+FUNCTION: int GetPriorityClipboardFormat ( UINT* paFormatPriorityList, int cFormats )
! FUNCTION: GetProcessDefaultLayout
! FUNCTION: GetProcessWindowStation
! FUNCTION: GetProgmanWindow
! FUNCTION: GetPropA
! FUNCTION: GetPropW
! FUNCTION: GetQueueStatus
-FUNCTION: UINT GetRawInputBuffer ( PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader ) ;
-FUNCTION: UINT GetRawInputData ( HRAWINPUT hRawInput, UINT uiCommand, LPVOID pData, PUINT pcbSize, UINT cbSizeHeader ) ;
-FUNCTION: UINT GetRawInputDeviceInfoA ( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize ) ;
-FUNCTION: UINT GetRawInputDeviceInfoW ( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize ) ;
+FUNCTION: UINT GetRawInputBuffer ( PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader )
+FUNCTION: UINT GetRawInputData ( HRAWINPUT hRawInput, UINT uiCommand, LPVOID pData, PUINT pcbSize, UINT cbSizeHeader )
+FUNCTION: UINT GetRawInputDeviceInfoA ( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize )
+FUNCTION: UINT GetRawInputDeviceInfoW ( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize )
ALIAS: GetRawInputDeviceInfo GetRawInputDeviceInfoW
-FUNCTION: UINT GetRawInputDeviceList ( PRAWINPUTDEVICELIST pRawInputDeviceList, PUINT puiNumDevices, UINT cbSize ) ;
-FUNCTION: UINT GetRegisteredRawInputDevices ( PRAWINPUTDEVICE pRawInputDevices, PUINT puiNumDevices, UINT cbSize ) ;
+FUNCTION: UINT GetRawInputDeviceList ( PRAWINPUTDEVICELIST pRawInputDeviceList, PUINT puiNumDevices, UINT cbSize )
+FUNCTION: UINT GetRegisteredRawInputDevices ( PRAWINPUTDEVICE pRawInputDevices, PUINT puiNumDevices, UINT cbSize )
! FUNCTION: GetReasonTitleFromReasonCode
! FUNCTION: GetScrollBarInfo
! FUNCTION: GetScrollInfo
! FUNCTION: GetScrollRange
! FUNCTION: GetShellWindow
! FUNCTION: GetSubMenu
-FUNCTION: COLORREF GetSysColor ( int nIndex ) ;
-FUNCTION: HBRUSH GetSysColorBrush ( int nIndex ) ;
-FUNCTION: HMENU GetSystemMenu ( HWND hWnd, BOOL bRevert ) ;
+FUNCTION: COLORREF GetSysColor ( int nIndex )
+FUNCTION: HBRUSH GetSysColorBrush ( int nIndex )
+FUNCTION: HMENU GetSystemMenu ( HWND hWnd, BOOL bRevert )
! FUNCTION: GetSystemMetrics
! FUNCTION: GetTabbedTextExtentA
! FUNCTION: GetTabbedTextExtentW
! FUNCTION: GetTaskmanWindow
-! FUNCTION: GetThreadDesktop
+FUNCTION: HDESK GetThreadDesktop ( DWORD dwThreadId )
! FUNCTION: GetTitleBarInfo
-FUNCTION: HWND GetTopWindow ( HWND hWnd ) ;
-! FUNCTION: BOOL GetUpdateRect ( HWND hWnd, LPRECT lpRect, BOOL bErase ) ;
-FUNCTION: int GetUpdateRgn ( HWND hWnd, HRGN hRgn, BOOL bErase ) ;
+FUNCTION: HWND GetTopWindow ( HWND hWnd )
+! FUNCTION: BOOL GetUpdateRect ( HWND hWnd, LPRECT lpRect, BOOL bErase )
+FUNCTION: int GetUpdateRgn ( HWND hWnd, HRGN hRgn, BOOL bErase )
! FUNCTION: GetUserObjectInformationA
! FUNCTION: GetUserObjectInformationW
! FUNCTION: GetUserObjectSecurity
-FUNCTION: HWND GetWindow ( HWND hWnd, UINT uCmd ) ;
+FUNCTION: HWND GetWindow ( HWND hWnd, UINT uCmd )
! FUNCTION: GetWindowContextHelpId
! FUNCTION: GetWindowDC
! FUNCTION: GetWindowInfo
! FUNCTION: GetWindowLongA
! FUNCTION: GetWindowLongW
-FUNCTION: LONG_PTR GetWindowLongW ( HANDLE hWnd, int index ) ;
+FUNCTION: LONG_PTR GetWindowLongW ( HANDLE hWnd, int index )
ALIAS: GetWindowLong GetWindowLongW
+
+FUNCTION: LONG_PTR GetWindowLongPtrW ( HWND hWnd, int nIndex )
+ALIAS: GetWindowLongPtr GetWindowLongPtrW
! FUNCTION: GetWindowModuleFileName
! FUNCTION: GetWindowModuleFileNameA
! FUNCTION: GetWindowModuleFileNameW
! FUNCTION: GetWindowPlacement
-FUNCTION: BOOL GetWindowRect ( HWND hWnd, LPRECT lpRect ) ;
+FUNCTION: BOOL GetWindowRect ( HWND hWnd, LPRECT lpRect )
! FUNCTION: GetWindowRgn
! FUNCTION: GetWindowRgnBox
-FUNCTION: int GetWindowTextA ( HWND hWnd, char* lpString, int nMaxCount ) ;
+! FUNCTION: int GetWindowTextA ( HWND hWnd, char* lpString, int nMaxCount )
+FUNCTION: int GetWindowTextW ( HWND hWnd, LPTSTR lpString, int nMaxCount )
+ALIAS: GetWindowText GetWindowTextW
! FUNCTION: GetWindowTextLengthA
! FUNCTION: GetWindowTextLengthW
! FUNCTION: GetWindowTextW
-FUNCTION: DWORD GetWindowThreadProcessId ( HWND hWnd, void* lpdwProcessId ) ;
+FUNCTION: DWORD GetWindowThreadProcessId ( HWND hWnd, void* lpdwProcessId )
! FUNCTION: GetWindowWord
! FUNCTION: GetWinStationInfo
! FUNCTION: GrayStringA
! FUNCTION: IsCharLowerW
! FUNCTION: IsCharUpperA
! FUNCTION: IsCharUpperW
-FUNCTION: BOOL IsChild ( HWND hWndParent, HWND hWnd ) ;
-FUNCTION: BOOL IsClipboardFormatAvailable ( UINT format ) ;
+FUNCTION: BOOL IsChild ( HWND hWndParent, HWND hWnd )
+FUNCTION: BOOL IsClipboardFormatAvailable ( UINT format )
! FUNCTION: IsDialogMessage
! FUNCTION: IsDialogMessageA
! FUNCTION: IsDialogMessageW
! FUNCTION: IsDlgButtonChecked
-FUNCTION: BOOL IsGUIThread ( BOOL bConvert ) ;
-FUNCTION: BOOL IsHungAppWindow ( HWND hWnd ) ;
-FUNCTION: BOOL IsIconic ( HWND hWnd ) ;
-FUNCTION: BOOL IsMenu ( HMENU hMenu ) ;
+FUNCTION: BOOL IsGUIThread ( BOOL bConvert )
+FUNCTION: BOOL IsHungAppWindow ( HWND hWnd )
+FUNCTION: BOOL IsIconic ( HWND hWnd )
+FUNCTION: BOOL IsMenu ( HMENU hMenu )
! FUNCTION: BOOL IsRectEmpty
! FUNCTION: BOOL IsServerSideWindow
-FUNCTION: BOOL IsWindow ( HWND hWnd ) ;
+FUNCTION: BOOL IsWindow ( HWND hWnd )
! FUNCTION: BOOL IsWindowEnabled
! FUNCTION: BOOL IsWindowInDestroy
-FUNCTION: BOOL IsWindowUnicode ( HWND hWnd ) ;
-FUNCTION: BOOL IsWindowVisible ( HWND hWnd ) ;
+FUNCTION: BOOL IsWindowUnicode ( HWND hWnd )
+FUNCTION: BOOL IsWindowVisible ( HWND hWnd )
! FUNCTION: BOOL IsWinEventHookInstalled
-FUNCTION: BOOL IsZoomed ( HWND hWnd ) ;
+FUNCTION: BOOL IsZoomed ( HWND hWnd )
! FUNCTION: keybd_event
! FUNCTION: KillSystemTimer
! FUNCTION: KillTimer
! FUNCTION: LoadAcceleratorsA
-FUNCTION: HACCEL LoadAcceleratorsW ( HINSTANCE hInstance, LPCTSTR lpTableName ) ;
+FUNCTION: HACCEL LoadAcceleratorsW ( HINSTANCE hInstance, LPCTSTR lpTableName )
! FUNCTION: LoadBitmapA
! FUNCTION: LoadBitmapW
! FUNCTION: LoadCursorFromFileA
! FUNCTION: LoadCursorFromFileW
-! FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, LPCWSTR lpCursorName ) ;
-FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, ushort lpCursorName ) ;
+FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, LPCWSTR lpCursorName )
ALIAS: LoadCursor LoadCursorW
-! FUNCTION: HICON LoadIconA ( HINSTANCE hInstance, LPCTSTR lpIconName ) ;
-FUNCTION: HICON LoadIconW ( HINSTANCE hInstance, LPCTSTR lpIconName ) ;
+FUNCTION: HICON LoadIconW ( HINSTANCE hInstance, LPCWSTR lpIconName )
ALIAS: LoadIcon LoadIconW
! FUNCTION: LoadImageA
-! FUNCTION: LoadImageW
+FUNCTION: HANDLE LoadImageW ( HINSTANCE hinst, LPCWSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad )
+ALIAS: LoadImage LoadImageW
! FUNCTION: LoadKeyboardLayoutA
! FUNCTION: LoadKeyboardLayoutEx
! FUNCTION: LoadKeyboardLayoutW
! FUNCTION: LookupIconIdFromDirectoryEx
! FUNCTION: MapDialogRect
-FUNCTION: UINT MapVirtualKeyW ( UINT uCode, UINT uMapType ) ;
+FUNCTION: UINT MapVirtualKeyW ( UINT uCode, UINT uMapType )
ALIAS: MapVirtualKey MapVirtualKeyW
-FUNCTION: UINT MapVirtualKeyExW ( UINT uCode, UINT uMapType, HKL dwhkl ) ;
+FUNCTION: UINT MapVirtualKeyExW ( UINT uCode, UINT uMapType, HKL dwhkl )
ALIAS: MapVirtualKeyEx MapVirtualKeyExW
-! FUNCTION: MapWindowPoints
+FUNCTION: int MapWindowPoints ( HWND hWndFrom, HWND hWndTo, LPPOINT lpPoints, UINT cPoints )
! FUNCTION: MB_GetString
! FUNCTION: MBToWCSEx
! FUNCTION: MenuItemFromPoint
! FUNCTION: MenuWindowProcW
! -1 is Simple beep
-FUNCTION: BOOL MessageBeep ( UINT uType ) ;
+FUNCTION: BOOL MessageBeep ( UINT uType )
-FUNCTION: int MessageBoxA (
+FUNCTION: int MessageBoxA (
HWND hWnd,
LPCSTR lpText,
LPCSTR lpCaption,
- UINT uType ) ;
+ UINT uType )
FUNCTION: int MessageBoxW (
HWND hWnd,
LPCWSTR lpText,
LPCWSTR lpCaption,
- UINT uType) ;
+ UINT uType )
FUNCTION: int MessageBoxExA ( HWND hWnd,
LPCSTR lpText,
LPCSTR lpCaption,
UINT uType,
- WORD wLanguageId
- ) ;
+ WORD wLanguageId )
FUNCTION: int MessageBoxExW (
HWND hWnd,
LPCWSTR lpText,
LPCWSTR lpCaption,
UINT uType,
- WORD wLanguageId ) ;
+ WORD wLanguageId )
-! FUNCTION: int MessageBoxIndirectA ( MSGBOXPARAMSA* params ) ;
-! FUNCTION: int MessageBoxIndirectW ( MSGBOXPARAMSW* params ) ;
+! FUNCTION: int MessageBoxIndirectA ( MSGBOXPARAMSA* params )
+! FUNCTION: int MessageBoxIndirectW ( MSGBOXPARAMSW* params )
ALIAS: MessageBox MessageBoxW
! FUNCTION: ModifyMenuW
! FUNCTION: MonitorFromPoint
! FUNCTION: MonitorFromRect
-FUNCTION: HMONITOR MonitorFromWindow ( HWND hWnd, DWORD dwFlags ) ;
+FUNCTION: HMONITOR MonitorFromWindow ( HWND hWnd, DWORD dwFlags )
! FUNCTION: mouse_event
int Y,
int nWidth,
int nHeight,
- BOOL bRepaint ) ;
+ BOOL bRepaint )
! FUNCTION: MsgWaitForMultipleObjects
! FUNCTION: MsgWaitForMultipleObjectsEx
! FUNCTION: OemToCharBuffW
! FUNCTION: OemToCharW
! FUNCTION: OffsetRect
-FUNCTION: BOOL OpenClipboard ( HWND hWndNewOwner ) ;
+FUNCTION: BOOL OpenClipboard ( HWND hWndNewOwner )
! FUNCTION: OpenDesktopA
-! FUNCTION: OpenDesktopW
+FUNCTION: HDESK OpenDesktopW ( LPTSTR lpsazDesktop, DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess )
+ALIAS: OpenDesktop OpenDesktopW
! FUNCTION: OpenIcon
-! FUNCTION: OpenInputDesktop
+FUNCTION: HDESK OpenInputDesktop ( DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess )
! FUNCTION: OpenWindowStationA
! FUNCTION: OpenWindowStationW
! FUNCTION: PackDDElParam
! FUNCTION: PaintDesktop
! FUNCTION: PaintMenuBar
-FUNCTION: BOOL PeekMessageA ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ) ;
-FUNCTION: BOOL PeekMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ) ;
+FUNCTION: BOOL PeekMessageA ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg )
+FUNCTION: BOOL PeekMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg )
ALIAS: PeekMessage PeekMessageW
! FUNCTION: PostMessageA
! FUNCTION: PostMessageW
-FUNCTION: void PostQuitMessage ( int nExitCode ) ;
+FUNCTION: void PostQuitMessage ( int nExitCode )
! FUNCTION: PostThreadMessageA
! FUNCTION: PostThreadMessageW
! FUNCTION: PrintWindow
! FUNCTION: RecordShutdownReason
! FUNCTION: RedrawWindow
-FUNCTION: ATOM RegisterClassA ( WNDCLASS* lpWndClass ) ;
-FUNCTION: ATOM RegisterClassW ( WNDCLASS* lpWndClass ) ;
-FUNCTION: ATOM RegisterClassExA ( WNDCLASSEX* lpwcx ) ;
-FUNCTION: ATOM RegisterClassExW ( WNDCLASSEX* lpwcx ) ;
+FUNCTION: ATOM RegisterClassA ( WNDCLASS* lpWndClass )
+FUNCTION: ATOM RegisterClassW ( WNDCLASS* lpWndClass )
+FUNCTION: ATOM RegisterClassExA ( WNDCLASSEX* lpwcx )
+FUNCTION: ATOM RegisterClassExW ( WNDCLASSEX* lpwcx )
ALIAS: RegisterClass RegisterClassW
ALIAS: RegisterClassEx RegisterClassExW
! FUNCTION: RegisterClipboardFormatA
! FUNCTION: RegisterClipboardFormatW
-FUNCTION: HANDLE RegisterDeviceNotificationA ( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags ) ;
-FUNCTION: HANDLE RegisterDeviceNotificationW ( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags ) ;
+FUNCTION: HANDLE RegisterDeviceNotificationA ( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags )
+FUNCTION: HANDLE RegisterDeviceNotificationW ( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags )
ALIAS: RegisterDeviceNotification RegisterDeviceNotificationW
! FUNCTION: RegisterHotKey
! FUNCTION: RegisterLogonProcess
! FUNCTION: RegisterMessagePumpHook
-FUNCTION: BOOL RegisterRawInputDevices ( PCRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize ) ;
+FUNCTION: BOOL RegisterRawInputDevices ( PCRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize )
! FUNCTION: RegisterServicesProcess
! FUNCTION: RegisterShellHookWindow
! FUNCTION: RegisterSystemThread
! FUNCTION: RegisterUserApiHook
! FUNCTION: RegisterWindowMessageA
! FUNCTION: RegisterWindowMessageW
-FUNCTION: BOOL ReleaseCapture ( ) ;
-FUNCTION: int ReleaseDC ( HWND hWnd, HDC hDC ) ;
+FUNCTION: BOOL ReleaseCapture ( )
+FUNCTION: int ReleaseDC ( HWND hWnd, HDC hDC )
! FUNCTION: RemoveMenu
! FUNCTION: RemovePropA
! FUNCTION: RemovePropW
! FUNCTION: ReplyMessage
! FUNCTION: ResolveDesktopForWOW
! FUNCTION: ReuseDDElParam
-! FUNCTION: ScreenToClient
+FUNCTION: BOOL ScreenToClient ( HWND hWnd, LPPOINT lpPoint )
! FUNCTION: ScrollChildren
! FUNCTION: ScrollDC
! FUNCTION: ScrollWindow
! FUNCTION: SendDlgItemMessageW
! FUNCTION: SendIMEMessageExA
! FUNCTION: SendIMEMessageExW
-! FUNCTION: UINT SendInput ( UINT nInputs, LPINPUT pInputs, int cbSize ) ;
-FUNCTION: LRESULT SendMessageW ( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) ;
+FUNCTION: UINT SendInput ( UINT nInputs, LPINPUT pInputs, int cbSize )
+FUNCTION: LRESULT SendMessageW ( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
ALIAS: SendMessage SendMessageW
! FUNCTION: SendMessageCallbackA
! FUNCTION: SendMessageCallbackW
! FUNCTION: SendNotifyMessageA
! FUNCTION: SendNotifyMessageW
! FUNCTION: SetActiveWindow
-FUNCTION: HWND SetCapture ( HWND hWnd ) ;
+FUNCTION: HWND SetCapture ( HWND hWnd )
! FUNCTION: SetCaretBlinkTime
! FUNCTION: SetCaretPos
-FUNCTION: ULONG_PTR SetClassLongW ( HWND hWnd, int nIndex, LONG_PTR dwNewLong ) ;
+FUNCTION: ULONG_PTR SetClassLongW ( HWND hWnd, int nIndex, LONG_PTR dwNewLong )
ALIAS: SetClassLongPtr SetClassLongW
ALIAS: SetClassLong SetClassLongW
! FUNCTION: SetClassWord
-FUNCTION: HANDLE SetClipboardData ( UINT uFormat, HANDLE hMem ) ;
+FUNCTION: HANDLE SetClipboardData ( UINT uFormat, HANDLE hMem )
! FUNCTION: SetClipboardViewer
! FUNCTION: SetConsoleReserveKeys
! FUNCTION: SetCursor
! FUNCTION: SetDlgItemTextA
! FUNCTION: SetDlgItemTextW
! FUNCTION: SetDoubleClickTime
-FUNCTION: HWND SetFocus ( HWND hWnd ) ;
-FUNCTION: BOOL SetForegroundWindow ( HWND hWnd ) ;
+FUNCTION: HWND SetFocus ( HWND hWnd )
+FUNCTION: BOOL SetForegroundWindow ( HWND hWnd )
! FUNCTION: SetInternalWindowPos
! FUNCTION: SetKeyboardState
! type is ignored
-FUNCTION: void SetLastErrorEx ( DWORD dwErrCode, DWORD dwType ) ;
+FUNCTION: void SetLastErrorEx ( DWORD dwErrCode, DWORD dwType )
: SetLastError ( errcode -- ) 0 SetLastErrorEx ; inline
! FUNCTION: SetLayeredWindowAttributes
! FUNCTION: SetLogonNotifyWindow
! FUNCTION: SetWindowContextHelpId
! FUNCTION: SetWindowLongA
! FUNCTION: SetWindowLongW
-FUNCTION: LONG_PTR SetWindowLongW ( HANDLE hWnd, int index, LONG_PTR dwNewLong ) ;
+FUNCTION: LONG_PTR SetWindowLongW ( HANDLE hWnd, int index, LONG_PTR dwNewLong )
ALIAS: SetWindowLong SetWindowLongW
! FUNCTION: SetWindowPlacement
-FUNCTION: BOOL SetWindowPos ( HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags ) ;
+FUNCTION: BOOL SetWindowPos ( HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags )
+
+FUNCTION: LONG_PTR SetWindowLongPtrW ( HWND hWnd, int nIndex, LONG_PTR dwNewLong )
+ALIAS: SetWindowLongPtr SetWindowLongPtrW
: HWND_BOTTOM ( -- alien ) 1 <alien> ;
+: HWND_MESSAGE ( -- alien ) -3 <alien> ;
: HWND_NOTOPMOST ( -- alien ) -2 <alien> ;
CONSTANT: HWND_TOP f
: HWND_TOPMOST ( -- alien ) -1 <alien> ;
+: HWND_DESKTOP ( -- alien ) 0 <alien> ;
+: HWND_BROADCAST ( -- alien ) 65535 <alien> ;
! FUNCTION: SetWindowRgn
! FUNCTION: SetWindowsHookA
! FUNCTION: SetWindowsHookExA
-! FUNCTION: SetWindowsHookExW
+FUNCTION: HHOOK SetWindowsHookExW ( int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId )
+ALIAS: SetWindowsHookEx SetWindowsHookExW
! FUNCTION: SetWindowsHookW
! FUNCTION: SetWindowStationUser
! FUNCTION: SetWindowTextA
! FUNCTION: SetWindowWord
! FUNCTION: SetWinEventHook
! FUNCTION: ShowCaret
-FUNCTION: int ShowCursor ( BOOL show ) ;
+FUNCTION: int ShowCursor ( BOOL show )
! FUNCTION: ShowOwnedPopups
! FUNCTION: ShowScrollBar
! FUNCTION: ShowStartGlass
-FUNCTION: BOOL ShowWindow ( HWND hWnd, int nCmdShow ) ;
+FUNCTION: BOOL ShowWindow ( HWND hWnd, int nCmdShow )
! FUNCTION: ShowWindowAsync
! FUNCTION: SoftModalMessageBox
! FUNCTION: SwitchDesktop
! FUNCTION: SwitchToThisWindow
! FUNCTION: SystemParametersInfoA
-! FUNCTION: SystemParametersInfoW
+
+FUNCTION: BOOL SystemParametersInfoW ( UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni )
+ALIAS: SystemParametersInfo SystemParametersInfoW
+
! FUNCTION: TabbedTextOutA
! FUNCTION: TabbedTextOutW
! FUNCTION: TileChildWindows
! FUNCTION: ToAsciiEx
! FUNCTION: ToUnicode
! FUNCTION: ToUnicodeEx
-FUNCTION: BOOL TrackMouseEvent ( LPTRACKMOUSEEVENT lpEventTrack ) ;
+FUNCTION: BOOL TrackMouseEvent ( LPTRACKMOUSEEVENT lpEventTrack )
! FUNCTION: TrackPopupMenu
! FUNCTION: TrackPopupMenuEx
! FUNCTION: TranslateAccelerator
! FUNCTION: TranslateAcceleratorA
-FUNCTION: int TranslateAcceleratorW ( HWND hWnd, HACCEL hAccTable, LPMSG lpMsg ) ;
+FUNCTION: int TranslateAcceleratorW ( HWND hWnd, HACCEL hAccTable, LPMSG lpMsg )
ALIAS: TranslateAccelerator TranslateAcceleratorW
! FUNCTION: TranslateMDISysAccel
-FUNCTION: BOOL TranslateMessage ( MSG* lpMsg ) ;
+FUNCTION: BOOL TranslateMessage ( MSG* lpMsg )
! FUNCTION: UnhookWindowsHook
-! FUNCTION: UnhookWindowsHookEx
+FUNCTION: BOOL UnhookWindowsHookEx ( HHOOK hhk )
! FUNCTION: UnhookWinEvent
! FUNCTION: UnionRect
! FUNCTION: UnloadKeyboardLayout
! FUNCTION: UnlockWindowStation
! FUNCTION: UnpackDDElParam
-FUNCTION: BOOL UnregisterClassW ( LPCWSTR lpClassName, HINSTANCE hInstance ) ;
+FUNCTION: BOOL UnregisterClassW ( LPCWSTR lpClassName, HINSTANCE hInstance )
ALIAS: UnregisterClass UnregisterClassW
-FUNCTION: BOOL UnregisterDeviceNotification ( HANDLE hDevNotify ) ;
+FUNCTION: BOOL UnregisterDeviceNotification ( HANDLE hDevNotify )
! FUNCTION: UnregisterHotKey
! FUNCTION: UnregisterMessagePumpHook
! FUNCTION: UnregisterUserApiHook
! FUNCTION: UpdateLayeredWindow
! FUNCTION: UpdatePerUserSystemParameters
-FUNCTION: BOOL UpdateWindow ( HWND hWnd ) ;
+FUNCTION: BOOL UpdateWindow ( HWND hWnd )
! FUNCTION: User32InitializeImmEntryTable
! FUNCTION: UserClientDllInitialize
! FUNCTION: ValidateRgn
! FUNCTION: VkKeyScanA
! FUNCTION: VkKeyScanExA
-! FUNCTION: VkKeyScanExW
-! FUNCTION: VkKeyScanW
+FUNCTION: SHORT VkKeyScanExW ( TCHAR ch, HKL dwhkl )
+ALIAS: VkKeyScanEx VkKeyScanExW
+FUNCTION: SHORT VkKeyScanW ( TCHAR ch )
+ALIAS: VkKeyScan VkKeyScanW
! FUNCTION: VRipOutput
! FUNCTION: VTagOutput
! FUNCTION: WaitForInputIdle
! FUNCTION: wvsprintfA
! FUNCTION: wvsprintfW
+TYPEDEF: HANDLE HPOWERNOTIFY
+
+FUNCTION: HPOWERNOTIFY RegisterPowerSettingNotification ( HANDLE hRecipient, LPCGUID PowerSettingGuid, DWORD Flags )
+FUNCTION: BOOL UnregisterPowerSettingNotification ( HPOWERNOTIFY Handle )
+
+CONSTANT: GUID_ACDC_POWER_SOURCE
+ GUID: {5d3e9a59-e9D5-4b00-a6bd-ff34ff516548}
+
+CONSTANT: GUID_BATTERY_PERCENTAGE_REMAINING
+ GUID: {a7ad8041-b45a-4cae-87a3-eecbb468a9e1}
+
+CONSTANT: GUID_CONSOLE_DISPLAY_STATE
+ GUID: {6fe69556-704a-47a0-8f24-c28d936fda47}
+
+CONSTANT: GUID_GLOBAL_USER_PRESENCE
+ GUID: {786e8a1d-b427-4344-9207-09e70bdcbea9}
+
+CONSTANT: GUID_IDLE_BACKGROUND_TASK
+ GUID: {515c31d8-f734-163d-a0fd-11a0-8c91e8f1}
+
+CONSTANT: GUID_MONITOR_POWER_ON
+ GUID: {02731015-4510-4526-99e6-e5a17ebd1aea}
+
+CONSTANT: GUID_POWER_SAVING_STATUS
+ GUID: {e00958c0-c213-4ace-ac77-fecced2eeea5}
+
+CONSTANT: GUID_POWERSCHEME_PERSONALITY
+ GUID: {245d8541-3943-4422-b025-13a7-84f679b7}
+
+CONSTANT: GUID_MIN_POWER_SAVINGS
+ GUID: {8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c}
+
+CONSTANT: GUID_MAX_POWER_SAVINGS
+ GUID: {a1841308-3541-4fab-bc81-f71556f20b4a}
+
+CONSTANT: GUID_TYPICAL_POWER_SAVINGS
+ GUID: {381b4222-f694-41f0-9685-ff5bb260df2e}
+
+CONSTANT: GUID_SESSION_DISPLAY_STATUS
+ GUID: {2b84c20e-ad23-4ddf-93db-05ffbd7efca5}
+
+CONSTANT: GUID_SESSION_USER_PRESENCE
+ GUID: {3c0f4548-c03f-4c4d-b9f2-237ede686376}
+
+CONSTANT: GUID_SYSTEM_AWAYMODE
+ GUID: {98a7f580-01f7-48aa-9c0f-44352c29e5C0}
+
+! This notification fires when the Lid Close Action is
+! changed by user in the Power Manager (Control Panel).
+CONSTANT: GUID_LIDCLOSE_ACTION
+ GUID: {5ca83367-6e45-459f-a27b-476b1d01c936}
+
+! This notifies when the laptop lid is physically opened or closed.
+CONSTANT: GUID_LIDSWITCH_STATE_CHANGE
+ GUID: {ba3e0f4d-b817-4094-a2d1-d56379e6a0f3}
+
+CONSTANT: PBT_POWERSETTINGCHANGE 0x8013
+
+STRUCT: POWERBROADCAST_SETTING
+ { PowerSetting GUID }
+ { DataLength DWORD }
+ { Data UCHAR }
+;
+
: msgbox ( str -- )
f swap "DebugMsg" MB_OK MessageBox drop ;