CommonLibVR
USER32.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "REX/W32/BASE.h"
4 
5 namespace REX::W32
6 {
7  enum GWLP : std::int32_t
8  {
9  GWLP_USERDATA = -21,
10  GWLP_ID = -12,
14  };
15 
16  enum WM : std::uint32_t
17  {
18  WM_NULL = 0x0000u,
19  WM_CREATE = 0x0001u,
20  WM_DESTROY = 0x0002u,
21  WM_MOVE = 0x0003u,
22  WM_SIZE = 0x0005u,
23  WM_ACTIVATE = 0x0006u,
24  WM_SETFOCUS = 0x0007u,
25  WM_KILLFOCUS = 0x0008u,
26  WM_ENABLE = 0x000Au,
27  WM_SETREDRAW = 0x000Bu,
28  WM_SETTEXT = 0x000Cu,
29  WM_GETTEXT = 0x000Du,
30  WM_GETTEXTLENGTH = 0x000Eu,
31  WM_PAINT = 0x000Fu,
32  WM_CLOSE = 0x0010u,
33  WM_QUIT = 0x0012u,
34  WM_ERASEBKGND = 0x0014u,
35  WM_SHOWWINDOW = 0x0018u,
36  WM_ACTIVATEAPP = 0x001Cu,
37  WM_FONTCHANGE = 0x001Du,
38  WM_TIMECHANGE = 0x001Eu,
39  WM_CANCELMODE = 0x001Fu,
40  WM_SETCURSOR = 0x0020u,
41  WM_MOUSEACTIVATE = 0x0021u,
42  WM_CHILDACTIVATE = 0x0022u,
43  };
44 
45  enum VK : std::uint32_t
46  {
47  VK_LBUTTON = 0x1,
48  VK_RBUTTON = 0x2,
49  VK_CANCEL = 0x3,
50  VK_MBUTTON = 0x4,
51  VK_XBUTTON1 = 0x5,
52  VK_XBUTTON2 = 0x6,
53  VK_BACK = 0x8,
54  VK_TAB = 0x9,
57  VK_CLEAR = 0xC,
58  VK_RETURN = 0xD,
59  VK_SHIFT = 0x10,
60  VK_CONTROL = 0x11,
61  VK_MENU = 0x12,
62  VK_PAUSE = 0x13,
63  VK_CAPITAL = 0x14,
64  VK_KANA = 0x15,
65  VK_HANGUEL = 0x15,
66  VK_HANGUL = 0x15,
67  VK_IME_ON = 0x16,
68  VK_JUNJA = 0x17,
69  VK_FINAL = 0x18,
70  VK_HANJA = 0x19,
72  VK_IME_OFF = 0x1A,
73  VK_ESCAPE = 0x1B,
74  VK_CONVERT = 0x1C,
75  VK_NONCONVERT = 0x1D,
76  VK_ACCEPT = 0x1E,
77  VK_MODECHANGE = 0x1F,
78  VK_SPACE = 0x20,
79  VK_PRIOR = 0x21,
80  VK_NEXT = 0x22,
81  VK_END = 0x23,
82  VK_HOME = 0x24,
83  VK_LEFT = 0x25,
84  VK_UP = 0x26,
85  VK_RIGHT = 0x27,
86  VK_DOWN = 0x28,
87  VK_SELECT = 0x29,
88  VK_PRINT = 0x2A,
89  VK_EXECUTE = 0x2B,
90  VK_SNAPSHOT = 0x2C,
91  VK_INSERT = 0x2D,
92  VK_DELETE = 0x2E,
93  VK_HELP = 0x2F,
94  VK_0 = 0x30,
95  VK_1 = 0x31,
96  VK_2 = 0x32,
97  VK_3 = 0x33,
98  VK_4 = 0x34,
99  VK_5 = 0x35,
100  VK_6 = 0x36,
101  VK_7 = 0x37,
102  VK_8 = 0x38,
103  VK_9 = 0x39,
104  VK_A = 0x41,
105  VK_B = 0x42,
106  VK_C = 0x43,
107  VK_D = 0x44,
108  VK_E = 0x45,
109  VK_F = 0x46,
110  VK_G = 0x47,
111  VK_H = 0x48,
112  VK_I = 0x49,
113  VK_J = 0x4A,
114  VK_K = 0x4B,
115  VK_L = 0x4C,
116  VK_M = 0x4D,
117  VK_N = 0x4E,
118  VK_O = 0x4F,
119  VK_P = 0x50,
120  VK_Q = 0x51,
121  VK_R = 0x52,
122  VK_S = 0x53,
123  VK_T = 0x54,
124  VK_U = 0x55,
125  VK_V = 0x56,
126  VK_W = 0x57,
127  VK_X = 0x58,
128  VK_Y = 0x59,
129  VK_Z = 0x5A,
130  VK_LWIN = 0x5B,
131  VK_RWIN = 0x5C,
132  VK_APPS = 0x5D,
134  VK_SLEEP = 0x5F,
135  VK_NUMPAD0 = 0x60,
136  VK_NUMPAD1 = 0x61,
137  VK_NUMPAD2 = 0x62,
138  VK_NUMPAD3 = 0x63,
139  VK_NUMPAD4 = 0x64,
140  VK_NUMPAD5 = 0x65,
141  VK_NUMPAD6 = 0x66,
142  VK_NUMPAD7 = 0x67,
143  VK_NUMPAD8 = 0x68,
144  VK_NUMPAD9 = 0x69,
145  VK_MULTIPLY = 0x6A,
146  VK_ADD = 0x6B,
147  VK_SEPARATOR = 0x6C,
148  VK_SUBTRACT = 0x6D,
149  VK_DECIMAL = 0x6E,
150  VK_DIVIDE = 0x6F,
151  VK_F1 = 0x70,
152  VK_F2 = 0x71,
153  VK_F3 = 0x72,
154  VK_F4 = 0x73,
155  VK_F5 = 0x74,
156  VK_F6 = 0x75,
157  VK_F7 = 0x76,
158  VK_F8 = 0x77,
159  VK_F9 = 0x78,
160  VK_F10 = 0x79,
161  VK_F11 = 0x7A,
162  VK_F12 = 0x7B,
163  VK_F13 = 0x7C,
164  VK_F14 = 0x7D,
165  VK_F15 = 0x7E,
166  VK_F16 = 0x7F,
167  VK_F17 = 0x80,
168  VK_F18 = 0x81,
169  VK_F19 = 0x82,
170  VK_F20 = 0x83,
171  VK_F21 = 0x84,
172  VK_F22 = 0x85,
173  VK_F23 = 0x86,
174  VK_F24 = 0x87,
175  VK_NUMLOCK = 0x90,
176  VK_SCROLL = 0x91,
182  VK_LSHIFT = 0xA0,
183  VK_RSHIFT = 0xA1,
184  VK_LCONTROL = 0xA2,
185  VK_RCONTROL = 0xA3,
186  VK_LMENU = 0xA4,
187  VK_RMENU = 0xA5,
197  VK_VOLUME_UP = 0xAF,
208  VK_OEM_1 = 0xBA,
209  VK_OEM_PLUS = 0xBB,
210  VK_OEM_COMMA = 0xBC,
211  VK_OEM_MINUS = 0xBD,
213  VK_OEM_2 = 0xBF,
214  VK_OEM_3 = 0xC0,
238  VK_OEM_4 = 0xDB,
239  VK_OEM_5 = 0xDC,
240  VK_OEM_6 = 0xDD,
241  VK_OEM_7 = 0xDE,
242  VK_OEM_8 = 0xDF,
245  VK_OEM_102 = 0xE2,
250  VK_PACKET = 0xE7,
264  VK_ATTN = 0xF6,
265  VK_CRSEL = 0xF7,
266  VK_EXSEL = 0xF8,
267  VK_EREOF = 0xF9,
268  VK_PLAY = 0xFA,
269  VK_ZOOM = 0xFB,
270  VK_NONAME = 0xFC,
271  VK_PA1 = 0xFD,
272  VK_OEM_CLEAR = 0xFE,
274  };
275 }
276 
277 namespace REX::W32
278 {
279  using WNDPROC = std::intptr_t (*)(HWND, std::uint32_t, std::uintptr_t, std::intptr_t);
280 }
281 
282 namespace REX::W32
283 {
284  bool GetClientRect(HWND a_wnd, RECT* a_rect) noexcept;
285  std::int32_t GetKeyNameTextA(std::int32_t a_param, char* a_buf, std::int32_t a_bufLen) noexcept;
286  std::int32_t GetKeyNameTextW(std::int32_t a_param, wchar_t* a_buf, std::int32_t a_bufLen) noexcept;
287  std::int16_t GetKeyState(std::int32_t a_key) noexcept;
288  bool GetWindowRect(HWND a_wnd, RECT* a_rect) noexcept;
289  std::int32_t MessageBoxA(HWND a_wnd, const char* a_text, const char* a_caption, std::uint32_t a_type) noexcept;
290  std::int32_t MessageBoxW(HWND a_wnd, const wchar_t* a_text, const wchar_t* a_caption, std::uint32_t a_type) noexcept;
291  std::intptr_t SetWindowLongPtrA(HWND a_wnd, std::int32_t a_index, std::intptr_t a_newPtr) noexcept;
292  std::int32_t ShowCursor(bool a_show) noexcept;
293 }
Definition: BSDirectInputManager.h:8
std::intptr_t(*)(HWND, std::uint32_t, std::uintptr_t, std::intptr_t) WNDPROC
Definition: USER32.h:279
std::int32_t MessageBoxW(HWND a_wnd, const wchar_t *a_text, const wchar_t *a_caption, std::uint32_t a_type) noexcept
std::intptr_t SetWindowLongPtrA(HWND a_wnd, std::int32_t a_index, std::intptr_t a_newPtr) noexcept
WM
Definition: USER32.h:17
@ WM_GETTEXTLENGTH
Definition: USER32.h:30
@ WM_SETTEXT
Definition: USER32.h:28
@ WM_ERASEBKGND
Definition: USER32.h:34
@ WM_CLOSE
Definition: USER32.h:32
@ WM_NULL
Definition: USER32.h:18
@ WM_DESTROY
Definition: USER32.h:20
@ WM_CREATE
Definition: USER32.h:19
@ WM_ACTIVATE
Definition: USER32.h:23
@ WM_SIZE
Definition: USER32.h:22
@ WM_CHILDACTIVATE
Definition: USER32.h:42
@ WM_MOVE
Definition: USER32.h:21
@ WM_PAINT
Definition: USER32.h:31
@ WM_SETCURSOR
Definition: USER32.h:40
@ WM_SETREDRAW
Definition: USER32.h:27
@ WM_QUIT
Definition: USER32.h:33
@ WM_FONTCHANGE
Definition: USER32.h:37
@ WM_ACTIVATEAPP
Definition: USER32.h:36
@ WM_SHOWWINDOW
Definition: USER32.h:35
@ WM_MOUSEACTIVATE
Definition: USER32.h:41
@ WM_SETFOCUS
Definition: USER32.h:24
@ WM_KILLFOCUS
Definition: USER32.h:25
@ WM_ENABLE
Definition: USER32.h:26
@ WM_CANCELMODE
Definition: USER32.h:39
@ WM_GETTEXT
Definition: USER32.h:29
@ WM_TIMECHANGE
Definition: USER32.h:38
VK
Definition: USER32.h:46
@ VK_ESCAPE
Definition: USER32.h:73
@ VK_END
Definition: USER32.h:81
@ VK_OEMSPECIFIC_F3
Definition: USER32.h:261
@ VK_F21
Definition: USER32.h:171
@ VK_6
Definition: USER32.h:100
@ VK_0
Definition: USER32.h:94
@ VK_RESERVED_D6
Definition: USER32.h:236
@ VK_RESERVED_CB
Definition: USER32.h:225
@ VK_OEM_8
Definition: USER32.h:242
@ VK_CONVERT
Definition: USER32.h:74
@ VK_F5
Definition: USER32.h:155
@ VK_OEM_MINUS
Definition: USER32.h:211
@ VK_VOLUME_DOWN
Definition: USER32.h:196
@ VK_ACCEPT
Definition: USER32.h:76
@ VK_RESERVED_C4
Definition: USER32.h:218
@ VK_DECIMAL
Definition: USER32.h:149
@ VK_F8
Definition: USER32.h:158
@ VK_F23
Definition: USER32.h:173
@ VK_RESERVED_C3
Definition: USER32.h:217
@ VK_PACKET
Definition: USER32.h:250
@ VK_OEMSPECIFIC_E3
Definition: USER32.h:246
@ VK_PA1
Definition: USER32.h:271
@ VK_LAUNCH_APP2
Definition: USER32.h:205
@ VK_VOLUME_UP
Definition: USER32.h:197
@ VK_DIVIDE
Definition: USER32.h:150
@ VK_J
Definition: USER32.h:113
@ VK_O
Definition: USER32.h:118
@ VK_OEM_4
Definition: USER32.h:238
@ VK_PRIOR
Definition: USER32.h:79
@ VK_RBUTTON
Definition: USER32.h:48
@ VK_X
Definition: USER32.h:127
@ VK_MEDIA_PLAY_PAUSE
Definition: USER32.h:201
@ VK_G
Definition: USER32.h:110
@ VK_RESERVED_CD
Definition: USER32.h:227
@ VK_I
Definition: USER32.h:112
@ VK_OEM_6
Definition: USER32.h:240
@ VK_Y
Definition: USER32.h:128
@ VK_F6
Definition: USER32.h:156
@ VK_S
Definition: USER32.h:122
@ VK_DELETE
Definition: USER32.h:92
@ VK_OEMSPECIFIC_E1
Definition: USER32.h:244
@ VK_NUMPAD3
Definition: USER32.h:138
@ VK_KANJI
Definition: USER32.h:71
@ VK_ZOOM
Definition: USER32.h:269
@ VK_SPACE
Definition: USER32.h:78
@ VK_F11
Definition: USER32.h:161
@ VK_OEM_COMMA
Definition: USER32.h:210
@ VK_F2
Definition: USER32.h:152
@ VK_8
Definition: USER32.h:102
@ VK_CANCEL
Definition: USER32.h:49
@ VK_NUMLOCK
Definition: USER32.h:175
@ VK_APPS
Definition: USER32.h:132
@ VK_CRSEL
Definition: USER32.h:265
@ VK_F19
Definition: USER32.h:169
@ VK_OEMSPECIFIC_F2
Definition: USER32.h:260
@ VK_RESERVED_C8
Definition: USER32.h:222
@ VK_OEM_PERIOD
Definition: USER32.h:212
@ VK_C
Definition: USER32.h:106
@ VK_IME_ON
Definition: USER32.h:67
@ VK_F1
Definition: USER32.h:151
@ VK_NUMPAD5
Definition: USER32.h:140
@ VK_F18
Definition: USER32.h:168
@ VK_F20
Definition: USER32.h:170
@ VK_BROWSER_FAVORITES
Definition: USER32.h:193
@ VK_UP
Definition: USER32.h:84
@ VK_NUMPAD9
Definition: USER32.h:144
@ VK_A
Definition: USER32.h:104
@ VK_F12
Definition: USER32.h:162
@ VK_RSHIFT
Definition: USER32.h:183
@ VK_OEMSPECIFIC_E9
Definition: USER32.h:251
@ VK_OEMSPECIFIC_EB
Definition: USER32.h:253
@ VK_4
Definition: USER32.h:98
@ VK_BROWSER_HOME
Definition: USER32.h:194
@ VK_NUMPAD1
Definition: USER32.h:136
@ VK_VOLUME_MUTE
Definition: USER32.h:195
@ VK_MENU
Definition: USER32.h:61
@ VK_OEM_2
Definition: USER32.h:213
@ VK_Q
Definition: USER32.h:120
@ VK_RESERVED_D3
Definition: USER32.h:233
@ VK_RESERVED_CC
Definition: USER32.h:226
@ VK_B
Definition: USER32.h:105
@ VK_LBUTTON
Definition: USER32.h:47
@ VK_BROWSER_REFRESH
Definition: USER32.h:190
@ VK_U
Definition: USER32.h:124
@ VK_E
Definition: USER32.h:108
@ VK_NONAME
Definition: USER32.h:270
@ VK_RIGHT
Definition: USER32.h:85
@ VK_HANGUL
Definition: USER32.h:66
@ VK_MODECHANGE
Definition: USER32.h:77
@ VK_KANA
Definition: USER32.h:64
@ VK_OEM_5
Definition: USER32.h:239
@ VK_NUMPAD2
Definition: USER32.h:137
@ VK_BROWSER_FORWARD
Definition: USER32.h:189
@ VK_LMENU
Definition: USER32.h:186
@ VK_LEFT
Definition: USER32.h:83
@ VK_D
Definition: USER32.h:107
@ VK_RESERVED_D7
Definition: USER32.h:237
@ VK_L
Definition: USER32.h:115
@ VK_NUMPAD6
Definition: USER32.h:141
@ VK_OEM_PLUS
Definition: USER32.h:209
@ VK_SUBTRACT
Definition: USER32.h:148
@ VK_NUMPAD7
Definition: USER32.h:142
@ VK_OEMSPECIFIC_EC
Definition: USER32.h:254
@ VK_OEM_1
Definition: USER32.h:208
@ VK_OEM_3
Definition: USER32.h:214
@ VK_SNAPSHOT
Definition: USER32.h:90
@ VK_RESERVED_E0
Definition: USER32.h:243
@ VK_OEMSPECIFIC_95
Definition: USER32.h:180
@ VK_RCONTROL
Definition: USER32.h:185
@ VK_P
Definition: USER32.h:119
@ VK_RESERVED_B9
Definition: USER32.h:207
@ VK_F17
Definition: USER32.h:167
@ VK_EXECUTE
Definition: USER32.h:89
@ VK_F16
Definition: USER32.h:166
@ VK_OEMSPECIFIC_F1
Definition: USER32.h:259
@ VK_EREOF
Definition: USER32.h:267
@ VK_PRINT
Definition: USER32.h:88
@ VK_RESERVED_FF
Definition: USER32.h:273
@ VK_SCROLL
Definition: USER32.h:176
@ VK_LAUNCH_MAIL
Definition: USER32.h:202
@ VK_SEPARATOR
Definition: USER32.h:147
@ VK_NUMPAD8
Definition: USER32.h:143
@ VK_RESERVED_5E
Definition: USER32.h:133
@ VK_RESERVED_CF
Definition: USER32.h:229
@ VK_MEDIA_STOP
Definition: USER32.h:200
@ VK_Z
Definition: USER32.h:129
@ VK_RESERVED_D5
Definition: USER32.h:235
@ VK_JUNJA
Definition: USER32.h:68
@ VK_OEMSPECIFIC_EF
Definition: USER32.h:257
@ VK_F9
Definition: USER32.h:159
@ VK_N
Definition: USER32.h:117
@ VK_OEM_102
Definition: USER32.h:245
@ VK_OEMSPECIFIC_94
Definition: USER32.h:179
@ VK_NUMPAD0
Definition: USER32.h:135
@ VK_EXSEL
Definition: USER32.h:266
@ VK_OEMSPECIFIC_E4
Definition: USER32.h:247
@ VK_PLAY
Definition: USER32.h:268
@ VK_RESERVED_D2
Definition: USER32.h:232
@ VK_RESERVED_D0
Definition: USER32.h:230
@ VK_OEMSPECIFIC_96
Definition: USER32.h:181
@ VK_HANGUEL
Definition: USER32.h:65
@ VK_RESERVED_0B
Definition: USER32.h:56
@ VK_CAPITAL
Definition: USER32.h:63
@ VK_F4
Definition: USER32.h:154
@ VK_OEMSPECIFIC_93
Definition: USER32.h:178
@ VK_RWIN
Definition: USER32.h:131
@ VK_INSERT
Definition: USER32.h:91
@ VK_M
Definition: USER32.h:116
@ VK_F14
Definition: USER32.h:164
@ VK_SLEEP
Definition: USER32.h:134
@ VK_LAUNCH_MEDIA_SELECT
Definition: USER32.h:203
@ VK_OEMSPECIFIC_ED
Definition: USER32.h:255
@ VK_7
Definition: USER32.h:101
@ VK_W
Definition: USER32.h:126
@ VK_RETURN
Definition: USER32.h:58
@ VK_OEMSPECIFIC_F5
Definition: USER32.h:263
@ VK_BROWSER_STOP
Definition: USER32.h:191
@ VK_RESERVED_C9
Definition: USER32.h:223
@ VK_OEMSPECIFIC_EE
Definition: USER32.h:256
@ VK_OEMSPECIFIC_F0
Definition: USER32.h:258
@ VK_RESERVED_CE
Definition: USER32.h:228
@ VK_LAUNCH_APP1
Definition: USER32.h:204
@ VK_CLEAR
Definition: USER32.h:57
@ VK_RESERVED_D1
Definition: USER32.h:231
@ VK_MULTIPLY
Definition: USER32.h:145
@ VK_F7
Definition: USER32.h:157
@ VK_RESERVED_C2
Definition: USER32.h:216
@ VK_IME_OFF
Definition: USER32.h:72
@ VK_OEMSPECIFIC_92
Definition: USER32.h:177
@ VK_F24
Definition: USER32.h:174
@ VK_OEM_7
Definition: USER32.h:241
@ VK_F10
Definition: USER32.h:160
@ VK_RESERVED_D4
Definition: USER32.h:234
@ VK_V
Definition: USER32.h:125
@ VK_NUMPAD4
Definition: USER32.h:139
@ VK_F3
Definition: USER32.h:153
@ VK_BROWSER_BACK
Definition: USER32.h:188
@ VK_SELECT
Definition: USER32.h:87
@ VK_K
Definition: USER32.h:114
@ VK_LSHIFT
Definition: USER32.h:182
@ VK_RESERVED_0A
Definition: USER32.h:55
@ VK_RESERVED_CA
Definition: USER32.h:224
@ VK_HELP
Definition: USER32.h:93
@ VK_BACK
Definition: USER32.h:53
@ VK_OEMSPECIFIC_F4
Definition: USER32.h:262
@ VK_T
Definition: USER32.h:123
@ VK_RESERVED_C5
Definition: USER32.h:219
@ VK_ATTN
Definition: USER32.h:264
@ VK_F15
Definition: USER32.h:165
@ VK_F13
Definition: USER32.h:163
@ VK_9
Definition: USER32.h:103
@ VK_OEM_CLEAR
Definition: USER32.h:272
@ VK_NONCONVERT
Definition: USER32.h:75
@ VK_XBUTTON2
Definition: USER32.h:52
@ VK_TAB
Definition: USER32.h:54
@ VK_PROCESSKEY
Definition: USER32.h:248
@ VK_RESERVED_B8
Definition: USER32.h:206
@ VK_DOWN
Definition: USER32.h:86
@ VK_SHIFT
Definition: USER32.h:59
@ VK_XBUTTON1
Definition: USER32.h:51
@ VK_3
Definition: USER32.h:97
@ VK_MEDIA_NEXT_TRACK
Definition: USER32.h:198
@ VK_HOME
Definition: USER32.h:82
@ VK_OEMSPECIFIC_EA
Definition: USER32.h:252
@ VK_R
Definition: USER32.h:121
@ VK_1
Definition: USER32.h:95
@ VK_MEDIA_PREV_TRACK
Definition: USER32.h:199
@ VK_F22
Definition: USER32.h:172
@ VK_RESERVED_C7
Definition: USER32.h:221
@ VK_RMENU
Definition: USER32.h:187
@ VK_OEMSPECIFIC_E6
Definition: USER32.h:249
@ VK_PAUSE
Definition: USER32.h:62
@ VK_LCONTROL
Definition: USER32.h:184
@ VK_2
Definition: USER32.h:96
@ VK_F
Definition: USER32.h:109
@ VK_LWIN
Definition: USER32.h:130
@ VK_RESERVED_C1
Definition: USER32.h:215
@ VK_MBUTTON
Definition: USER32.h:50
@ VK_NEXT
Definition: USER32.h:80
@ VK_5
Definition: USER32.h:99
@ VK_CONTROL
Definition: USER32.h:60
@ VK_FINAL
Definition: USER32.h:69
@ VK_H
Definition: USER32.h:111
@ VK_HANJA
Definition: USER32.h:70
@ VK_RESERVED_C6
Definition: USER32.h:220
@ VK_ADD
Definition: USER32.h:146
@ VK_BROWSER_SEARCH
Definition: USER32.h:192
std::int32_t MessageBoxA(HWND a_wnd, const char *a_text, const char *a_caption, std::uint32_t a_type) noexcept
std::int32_t ShowCursor(bool a_show) noexcept
std::int32_t GetKeyNameTextW(std::int32_t a_param, wchar_t *a_buf, std::int32_t a_bufLen) noexcept
std::int16_t GetKeyState(std::int32_t a_key) noexcept
std::int32_t GetKeyNameTextA(std::int32_t a_param, char *a_buf, std::int32_t a_bufLen) noexcept
bool GetWindowRect(HWND a_wnd, RECT *a_rect) noexcept
GWLP
Definition: USER32.h:8
@ GWLP_HINSTANCE
Definition: USER32.h:12
@ GWLP_HWNDPARENT
Definition: USER32.h:11
@ GWLP_USERDATA
Definition: USER32.h:9
@ GWLP_ID
Definition: USER32.h:10
@ GWLP_WNDPROC
Definition: USER32.h:13
bool GetClientRect(HWND a_wnd, RECT *a_rect) noexcept
struct HWND__ * HWND
Definition: BASE.h:30
Definition: BASE.h:109