1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! USER procedure declarations, constant definitions and macros
7 use ctypes
::{c_int, c_long, c_short, c_uint}
;
9 DWORD_PTR
, INT32
, INT_PTR
, PDWORD_PTR
, UINT16
, UINT32
, UINT64
, UINT_PTR
, ULONG_PTR
,
11 #[cfg(target_pointer_width = "64")]
12 use shared
::basetsd
::LONG_PTR
;
13 use shared
::guiddef
::{GUID, LPCGUID}
;
14 use shared
::minwindef
::{
15 ATOM
, BOOL
, BYTE
, DWORD
, HINSTANCE
, HIWORD
, HKL
, HMODULE
, HRGN
, HWINSTA
, INT
, LOWORD
, LPARAM
,
16 LPBYTE
, LPDWORD
, LPINT
, LPVOID
, LPWORD
, LRESULT
, PBYTE
, PUINT
, PULONG
, TRUE
, UCHAR
, UINT
,
17 ULONG
, USHORT
, WORD
, WPARAM
,
20 COLORREF
, DPI_AWARENESS
, DPI_AWARENESS_CONTEXT
, DPI_HOSTING_BEHAVIOR
, HACCEL
, HBITMAP
, HBRUSH
,
21 HCURSOR
, HDC
, HDESK
, HHOOK
, HICON
, HMENU
, HMONITOR
, HWINEVENTHOOK
, HWND
, LPCRECT
, LPPOINT
,
22 LPRECT
, POINT
, RECT
, SIZE
,
24 use um
::minwinbase
::LPSECURITY_ATTRIBUTES
;
26 BLENDFUNCTION
, DEVMODEA
, DEVMODEW
, LOGFONTA
, LOGFONTW
, PDISPLAY_DEVICEA
, PDISPLAY_DEVICEW
29 ACCESS_MASK
, BOOLEAN
, CHAR
, HANDLE
, LONG
, LPCSTR
, LPCWSTR
, LPSTR
, LPWSTR
, LUID
,
30 PSECURITY_DESCRIPTOR
, PSECURITY_INFORMATION
, PVOID
, SHORT
, VOID
, WCHAR
,
32 use vc
::limits
::UINT_MAX
;
33 use vc
::vadefs
::va_list
;
34 pub type HDWP
= HANDLE
;
35 pub type MENUTEMPLATEA
= VOID
;
36 pub type MENUTEMPLATEW
= VOID
;
37 pub type LPMENUTEMPLATEA
= PVOID
;
38 pub type LPMENUTEMPLATEW
= PVOID
;
51 FN
!{stdcall
TIMERPROC(
57 FN
!{stdcall
GRAYSTRINGPROC(
62 FN
!{stdcall
WNDENUMPROC(
71 FN
!{stdcall
SENDASYNCPROC(
77 FN
!{stdcall
PROPENUMPROCA(
82 FN
!{stdcall
PROPENUMPROCW(
87 FN
!{stdcall
PROPENUMPROCEXA(
93 FN
!{stdcall
PROPENUMPROCEXW(
99 FN
!{stdcall
EDITWORDBREAKPROCA(
105 FN
!{stdcall
EDITWORDBREAKPROCW(
111 FN
!{stdcall
DRAWSTATEPROC(
118 FN
!{stdcall
NAMEENUMPROCA(
122 FN
!{stdcall
NAMEENUMPROCW(
126 pub type WINSTAENUMPROCA
= NAMEENUMPROCA
;
127 pub type DESKTOPENUMPROCA
= NAMEENUMPROCA
;
128 pub type WINSTAENUMPROCW
= NAMEENUMPROCW
;
129 pub type DESKTOPENUMPROCW
= NAMEENUMPROCW
;
131 pub fn IS_INTRESOURCE(r
: ULONG_PTR
) -> bool
{
135 pub fn MAKEINTRESOURCEA(i
: WORD
) -> LPSTR
{
136 i
as ULONG_PTR
as LPSTR
139 pub fn MAKEINTRESOURCEW(i
: WORD
) -> LPWSTR
{
140 i
as ULONG_PTR
as LPWSTR
142 pub const RT_CURSOR
: LPWSTR
= MAKEINTRESOURCE
!(1);
143 pub const RT_BITMAP
: LPWSTR
= MAKEINTRESOURCE
!(2);
144 pub const RT_ICON
: LPWSTR
= MAKEINTRESOURCE
!(3);
145 pub const RT_MENU
: LPWSTR
= MAKEINTRESOURCE
!(4);
146 pub const RT_DIALOG
: LPWSTR
= MAKEINTRESOURCE
!(5);
147 pub const RT_STRING
: LPWSTR
= MAKEINTRESOURCE
!(6);
148 pub const RT_FONTDIR
: LPWSTR
= MAKEINTRESOURCE
!(7);
149 pub const RT_FONT
: LPWSTR
= MAKEINTRESOURCE
!(8);
150 pub const RT_ACCELERATOR
: LPWSTR
= MAKEINTRESOURCE
!(9);
151 pub const RT_RCDATA
: LPWSTR
= MAKEINTRESOURCE
!(10);
152 pub const RT_MESSAGETABLE
: LPWSTR
= MAKEINTRESOURCE
!(11);
153 pub const DIFFERENCE
: WORD
= 11;
154 pub const RT_GROUP_CURSOR
: LPWSTR
= MAKEINTRESOURCE
!(1 + DIFFERENCE
);
155 pub const RT_GROUP_ICON
: LPWSTR
= MAKEINTRESOURCE
!(3 + DIFFERENCE
);
156 pub const RT_VERSION
: LPWSTR
= MAKEINTRESOURCE
!(16);
157 pub const RT_DLGINCLUDE
: LPWSTR
= MAKEINTRESOURCE
!(17);
158 pub const RT_PLUGPLAY
: LPWSTR
= MAKEINTRESOURCE
!(19);
159 pub const RT_VXD
: LPWSTR
= MAKEINTRESOURCE
!(20);
160 pub const RT_ANICURSOR
: LPWSTR
= MAKEINTRESOURCE
!(21);
161 pub const RT_ANIICON
: LPWSTR
= MAKEINTRESOURCE
!(22);
162 pub const RT_HTML
: LPWSTR
= MAKEINTRESOURCE
!(23);
163 pub const RT_MANIFEST
: LPWSTR
= MAKEINTRESOURCE
!(24);
164 pub const CREATEPROCESS_MANIFEST_RESOURCE_ID
: LPWSTR
= MAKEINTRESOURCE
!(1);
165 pub const ISOLATIONAWARE_MANIFEST_RESOURCE_ID
: LPWSTR
= MAKEINTRESOURCE
!(2);
166 pub const ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID
: LPWSTR
167 = MAKEINTRESOURCE
!(3);
168 pub const MINIMUM_RESERVED_MANIFEST_RESOURCE_ID
: LPWSTR
= MAKEINTRESOURCE
!(1);
169 pub const MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID
: LPWSTR
= MAKEINTRESOURCE
!(16);
194 pub const SETWALLPAPER_DEFAULT
: LPWSTR
= -1isize
as LPWSTR
;
195 pub const SB_HORZ
: UINT
= 0;
196 pub const SB_VERT
: UINT
= 1;
197 pub const SB_CTL
: UINT
= 2;
198 pub const SB_BOTH
: UINT
= 3;
199 pub const SB_LINEUP
: LPARAM
= 0;
200 pub const SB_LINELEFT
: LPARAM
= 0;
201 pub const SB_LINEDOWN
: LPARAM
= 1;
202 pub const SB_LINERIGHT
: LPARAM
= 1;
203 pub const SB_PAGEUP
: LPARAM
= 2;
204 pub const SB_PAGELEFT
: LPARAM
= 2;
205 pub const SB_PAGEDOWN
: LPARAM
= 3;
206 pub const SB_PAGERIGHT
: LPARAM
= 3;
207 pub const SB_THUMBPOSITION
: LPARAM
= 4;
208 pub const SB_THUMBTRACK
: LPARAM
= 5;
209 pub const SB_TOP
: LPARAM
= 6;
210 pub const SB_LEFT
: LPARAM
= 6;
211 pub const SB_BOTTOM
: LPARAM
= 7;
212 pub const SB_RIGHT
: LPARAM
= 7;
213 pub const SB_ENDSCROLL
: LPARAM
= 8;
214 pub const SW_HIDE
: c_int
= 0;
215 pub const SW_SHOWNORMAL
: c_int
= 1;
216 pub const SW_NORMAL
: c_int
= 1;
217 pub const SW_SHOWMINIMIZED
: c_int
= 2;
218 pub const SW_SHOWMAXIMIZED
: c_int
= 3;
219 pub const SW_MAXIMIZE
: c_int
= 3;
220 pub const SW_SHOWNOACTIVATE
: c_int
= 4;
221 pub const SW_SHOW
: c_int
= 5;
222 pub const SW_MINIMIZE
: c_int
= 6;
223 pub const SW_SHOWMINNOACTIVE
: c_int
= 7;
224 pub const SW_SHOWNA
: c_int
= 8;
225 pub const SW_RESTORE
: c_int
= 9;
226 pub const SW_SHOWDEFAULT
: c_int
= 10;
227 pub const SW_FORCEMINIMIZE
: c_int
= 11;
228 pub const SW_MAX
: c_int
= 11;
229 pub const HIDE_WINDOW
: c_int
= 0;
230 pub const SHOW_OPENWINDOW
: c_int
= 1;
231 pub const SHOW_ICONWINDOW
: c_int
= 2;
232 pub const SHOW_FULLSCREEN
: c_int
= 3;
233 pub const SHOW_OPENNOACTIVATE
: c_int
= 4;
234 pub const SW_PARENTCLOSING
: LPARAM
= 1;
235 pub const SW_OTHERZOOM
: LPARAM
= 2;
236 pub const SW_PARENTOPENING
: LPARAM
= 3;
237 pub const SW_OTHERUNZOOM
: LPARAM
= 4;
238 pub const AW_HOR_POSITIVE
: DWORD
= 0x00000001;
239 pub const AW_HOR_NEGATIVE
: DWORD
= 0x00000002;
240 pub const AW_VER_POSITIVE
: DWORD
= 0x00000004;
241 pub const AW_VER_NEGATIVE
: DWORD
= 0x00000008;
242 pub const AW_CENTER
: DWORD
= 0x00000010;
243 pub const AW_HIDE
: DWORD
= 0x00010000;
244 pub const AW_ACTIVATE
: DWORD
= 0x00020000;
245 pub const AW_SLIDE
: DWORD
= 0x00040000;
246 pub const AW_BLEND
: DWORD
= 0x00080000;
247 pub const KF_EXTENDED
: WORD
= 0x0100;
248 pub const KF_DLGMODE
: WORD
= 0x0800;
249 pub const KF_MENUMODE
: WORD
= 0x1000;
250 pub const KF_ALTDOWN
: WORD
= 0x2000;
251 pub const KF_REPEAT
: WORD
= 0x4000;
252 pub const KF_UP
: WORD
= 0x8000;
253 pub const VK_LBUTTON
: c_int
= 0x01;
254 pub const VK_RBUTTON
: c_int
= 0x02;
255 pub const VK_CANCEL
: c_int
= 0x03;
256 pub const VK_MBUTTON
: c_int
= 0x04;
257 pub const VK_XBUTTON1
: c_int
= 0x05;
258 pub const VK_XBUTTON2
: c_int
= 0x06;
259 pub const VK_BACK
: c_int
= 0x08;
260 pub const VK_TAB
: c_int
= 0x09;
261 pub const VK_CLEAR
: c_int
= 0x0C;
262 pub const VK_RETURN
: c_int
= 0x0D;
263 pub const VK_SHIFT
: c_int
= 0x10;
264 pub const VK_CONTROL
: c_int
= 0x11;
265 pub const VK_MENU
: c_int
= 0x12;
266 pub const VK_PAUSE
: c_int
= 0x13;
267 pub const VK_CAPITAL
: c_int
= 0x14;
268 pub const VK_KANA
: c_int
= 0x15;
269 pub const VK_HANGEUL
: c_int
= 0x15;
270 pub const VK_HANGUL
: c_int
= 0x15;
271 pub const VK_JUNJA
: c_int
= 0x17;
272 pub const VK_FINAL
: c_int
= 0x18;
273 pub const VK_HANJA
: c_int
= 0x19;
274 pub const VK_KANJI
: c_int
= 0x19;
275 pub const VK_ESCAPE
: c_int
= 0x1B;
276 pub const VK_CONVERT
: c_int
= 0x1C;
277 pub const VK_NONCONVERT
: c_int
= 0x1D;
278 pub const VK_ACCEPT
: c_int
= 0x1E;
279 pub const VK_MODECHANGE
: c_int
= 0x1F;
280 pub const VK_SPACE
: c_int
= 0x20;
281 pub const VK_PRIOR
: c_int
= 0x21;
282 pub const VK_NEXT
: c_int
= 0x22;
283 pub const VK_END
: c_int
= 0x23;
284 pub const VK_HOME
: c_int
= 0x24;
285 pub const VK_LEFT
: c_int
= 0x25;
286 pub const VK_UP
: c_int
= 0x26;
287 pub const VK_RIGHT
: c_int
= 0x27;
288 pub const VK_DOWN
: c_int
= 0x28;
289 pub const VK_SELECT
: c_int
= 0x29;
290 pub const VK_PRINT
: c_int
= 0x2A;
291 pub const VK_EXECUTE
: c_int
= 0x2B;
292 pub const VK_SNAPSHOT
: c_int
= 0x2C;
293 pub const VK_INSERT
: c_int
= 0x2D;
294 pub const VK_DELETE
: c_int
= 0x2E;
295 pub const VK_HELP
: c_int
= 0x2F;
296 pub const VK_LWIN
: c_int
= 0x5B;
297 pub const VK_RWIN
: c_int
= 0x5C;
298 pub const VK_APPS
: c_int
= 0x5D;
299 pub const VK_SLEEP
: c_int
= 0x5F;
300 pub const VK_NUMPAD0
: c_int
= 0x60;
301 pub const VK_NUMPAD1
: c_int
= 0x61;
302 pub const VK_NUMPAD2
: c_int
= 0x62;
303 pub const VK_NUMPAD3
: c_int
= 0x63;
304 pub const VK_NUMPAD4
: c_int
= 0x64;
305 pub const VK_NUMPAD5
: c_int
= 0x65;
306 pub const VK_NUMPAD6
: c_int
= 0x66;
307 pub const VK_NUMPAD7
: c_int
= 0x67;
308 pub const VK_NUMPAD8
: c_int
= 0x68;
309 pub const VK_NUMPAD9
: c_int
= 0x69;
310 pub const VK_MULTIPLY
: c_int
= 0x6A;
311 pub const VK_ADD
: c_int
= 0x6B;
312 pub const VK_SEPARATOR
: c_int
= 0x6C;
313 pub const VK_SUBTRACT
: c_int
= 0x6D;
314 pub const VK_DECIMAL
: c_int
= 0x6E;
315 pub const VK_DIVIDE
: c_int
= 0x6F;
316 pub const VK_F1
: c_int
= 0x70;
317 pub const VK_F2
: c_int
= 0x71;
318 pub const VK_F3
: c_int
= 0x72;
319 pub const VK_F4
: c_int
= 0x73;
320 pub const VK_F5
: c_int
= 0x74;
321 pub const VK_F6
: c_int
= 0x75;
322 pub const VK_F7
: c_int
= 0x76;
323 pub const VK_F8
: c_int
= 0x77;
324 pub const VK_F9
: c_int
= 0x78;
325 pub const VK_F10
: c_int
= 0x79;
326 pub const VK_F11
: c_int
= 0x7A;
327 pub const VK_F12
: c_int
= 0x7B;
328 pub const VK_F13
: c_int
= 0x7C;
329 pub const VK_F14
: c_int
= 0x7D;
330 pub const VK_F15
: c_int
= 0x7E;
331 pub const VK_F16
: c_int
= 0x7F;
332 pub const VK_F17
: c_int
= 0x80;
333 pub const VK_F18
: c_int
= 0x81;
334 pub const VK_F19
: c_int
= 0x82;
335 pub const VK_F20
: c_int
= 0x83;
336 pub const VK_F21
: c_int
= 0x84;
337 pub const VK_F22
: c_int
= 0x85;
338 pub const VK_F23
: c_int
= 0x86;
339 pub const VK_F24
: c_int
= 0x87;
340 pub const VK_NAVIGATION_VIEW
: c_int
= 0x88;
341 pub const VK_NAVIGATION_MENU
: c_int
= 0x89;
342 pub const VK_NAVIGATION_UP
: c_int
= 0x8A;
343 pub const VK_NAVIGATION_DOWN
: c_int
= 0x8B;
344 pub const VK_NAVIGATION_LEFT
: c_int
= 0x8C;
345 pub const VK_NAVIGATION_RIGHT
: c_int
= 0x8D;
346 pub const VK_NAVIGATION_ACCEPT
: c_int
= 0x8E;
347 pub const VK_NAVIGATION_CANCEL
: c_int
= 0x8F;
348 pub const VK_NUMLOCK
: c_int
= 0x90;
349 pub const VK_SCROLL
: c_int
= 0x91;
350 pub const VK_OEM_NEC_EQUAL
: c_int
= 0x92;
351 pub const VK_OEM_FJ_JISHO
: c_int
= 0x92;
352 pub const VK_OEM_FJ_MASSHOU
: c_int
= 0x93;
353 pub const VK_OEM_FJ_TOUROKU
: c_int
= 0x94;
354 pub const VK_OEM_FJ_LOYA
: c_int
= 0x95;
355 pub const VK_OEM_FJ_ROYA
: c_int
= 0x96;
356 pub const VK_LSHIFT
: c_int
= 0xA0;
357 pub const VK_RSHIFT
: c_int
= 0xA1;
358 pub const VK_LCONTROL
: c_int
= 0xA2;
359 pub const VK_RCONTROL
: c_int
= 0xA3;
360 pub const VK_LMENU
: c_int
= 0xA4;
361 pub const VK_RMENU
: c_int
= 0xA5;
362 pub const VK_BROWSER_BACK
: c_int
= 0xA6;
363 pub const VK_BROWSER_FORWARD
: c_int
= 0xA7;
364 pub const VK_BROWSER_REFRESH
: c_int
= 0xA8;
365 pub const VK_BROWSER_STOP
: c_int
= 0xA9;
366 pub const VK_BROWSER_SEARCH
: c_int
= 0xAA;
367 pub const VK_BROWSER_FAVORITES
: c_int
= 0xAB;
368 pub const VK_BROWSER_HOME
: c_int
= 0xAC;
369 pub const VK_VOLUME_MUTE
: c_int
= 0xAD;
370 pub const VK_VOLUME_DOWN
: c_int
= 0xAE;
371 pub const VK_VOLUME_UP
: c_int
= 0xAF;
372 pub const VK_MEDIA_NEXT_TRACK
: c_int
= 0xB0;
373 pub const VK_MEDIA_PREV_TRACK
: c_int
= 0xB1;
374 pub const VK_MEDIA_STOP
: c_int
= 0xB2;
375 pub const VK_MEDIA_PLAY_PAUSE
: c_int
= 0xB3;
376 pub const VK_LAUNCH_MAIL
: c_int
= 0xB4;
377 pub const VK_LAUNCH_MEDIA_SELECT
: c_int
= 0xB5;
378 pub const VK_LAUNCH_APP1
: c_int
= 0xB6;
379 pub const VK_LAUNCH_APP2
: c_int
= 0xB7;
380 pub const VK_OEM_1
: c_int
= 0xBA;
381 pub const VK_OEM_PLUS
: c_int
= 0xBB;
382 pub const VK_OEM_COMMA
: c_int
= 0xBC;
383 pub const VK_OEM_MINUS
: c_int
= 0xBD;
384 pub const VK_OEM_PERIOD
: c_int
= 0xBE;
385 pub const VK_OEM_2
: c_int
= 0xBF;
386 pub const VK_OEM_3
: c_int
= 0xC0;
387 pub const VK_GAMEPAD_A
: c_int
= 0xC3;
388 pub const VK_GAMEPAD_B
: c_int
= 0xC4;
389 pub const VK_GAMEPAD_X
: c_int
= 0xC5;
390 pub const VK_GAMEPAD_Y
: c_int
= 0xC6;
391 pub const VK_GAMEPAD_RIGHT_SHOULDER
: c_int
= 0xC7;
392 pub const VK_GAMEPAD_LEFT_SHOULDER
: c_int
= 0xC8;
393 pub const VK_GAMEPAD_LEFT_TRIGGER
: c_int
= 0xC9;
394 pub const VK_GAMEPAD_RIGHT_TRIGGER
: c_int
= 0xCA;
395 pub const VK_GAMEPAD_DPAD_UP
: c_int
= 0xCB;
396 pub const VK_GAMEPAD_DPAD_DOWN
: c_int
= 0xCC;
397 pub const VK_GAMEPAD_DPAD_LEFT
: c_int
= 0xCD;
398 pub const VK_GAMEPAD_DPAD_RIGHT
: c_int
= 0xCE;
399 pub const VK_GAMEPAD_MENU
: c_int
= 0xCF;
400 pub const VK_GAMEPAD_VIEW
: c_int
= 0xD0;
401 pub const VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON
: c_int
= 0xD1;
402 pub const VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON
: c_int
= 0xD2;
403 pub const VK_GAMEPAD_LEFT_THUMBSTICK_UP
: c_int
= 0xD3;
404 pub const VK_GAMEPAD_LEFT_THUMBSTICK_DOWN
: c_int
= 0xD4;
405 pub const VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT
: c_int
= 0xD5;
406 pub const VK_GAMEPAD_LEFT_THUMBSTICK_LEFT
: c_int
= 0xD6;
407 pub const VK_GAMEPAD_RIGHT_THUMBSTICK_UP
: c_int
= 0xD7;
408 pub const VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN
: c_int
= 0xD8;
409 pub const VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT
: c_int
= 0xD9;
410 pub const VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT
: c_int
= 0xDA;
411 pub const VK_OEM_4
: c_int
= 0xDB;
412 pub const VK_OEM_5
: c_int
= 0xDC;
413 pub const VK_OEM_6
: c_int
= 0xDD;
414 pub const VK_OEM_7
: c_int
= 0xDE;
415 pub const VK_OEM_8
: c_int
= 0xDF;
416 pub const VK_OEM_AX
: c_int
= 0xE1;
417 pub const VK_OEM_102
: c_int
= 0xE2;
418 pub const VK_ICO_HELP
: c_int
= 0xE3;
419 pub const VK_ICO_00
: c_int
= 0xE4;
420 pub const VK_PROCESSKEY
: c_int
= 0xE5;
421 pub const VK_ICO_CLEAR
: c_int
= 0xE6;
422 pub const VK_PACKET
: c_int
= 0xE7;
423 pub const VK_OEM_RESET
: c_int
= 0xE9;
424 pub const VK_OEM_JUMP
: c_int
= 0xEA;
425 pub const VK_OEM_PA1
: c_int
= 0xEB;
426 pub const VK_OEM_PA2
: c_int
= 0xEC;
427 pub const VK_OEM_PA3
: c_int
= 0xED;
428 pub const VK_OEM_WSCTRL
: c_int
= 0xEE;
429 pub const VK_OEM_CUSEL
: c_int
= 0xEF;
430 pub const VK_OEM_ATTN
: c_int
= 0xF0;
431 pub const VK_OEM_FINISH
: c_int
= 0xF1;
432 pub const VK_OEM_COPY
: c_int
= 0xF2;
433 pub const VK_OEM_AUTO
: c_int
= 0xF3;
434 pub const VK_OEM_ENLW
: c_int
= 0xF4;
435 pub const VK_OEM_BACKTAB
: c_int
= 0xF5;
436 pub const VK_ATTN
: c_int
= 0xF6;
437 pub const VK_CRSEL
: c_int
= 0xF7;
438 pub const VK_EXSEL
: c_int
= 0xF8;
439 pub const VK_EREOF
: c_int
= 0xF9;
440 pub const VK_PLAY
: c_int
= 0xFA;
441 pub const VK_ZOOM
: c_int
= 0xFB;
442 pub const VK_NONAME
: c_int
= 0xFC;
443 pub const VK_PA1
: c_int
= 0xFD;
444 pub const VK_OEM_CLEAR
: c_int
= 0xFE;
445 pub const WH_MIN
: c_int
= -1;
446 pub const WH_MSGFILTER
: c_int
= -1;
447 pub const WH_JOURNALRECORD
: c_int
= 0;
448 pub const WH_JOURNALPLAYBACK
: c_int
= 1;
449 pub const WH_KEYBOARD
: c_int
= 2;
450 pub const WH_GETMESSAGE
: c_int
= 3;
451 pub const WH_CALLWNDPROC
: c_int
= 4;
452 pub const WH_CBT
: c_int
= 5;
453 pub const WH_SYSMSGFILTER
: c_int
= 6;
454 pub const WH_MOUSE
: c_int
= 7;
455 pub const WH_HARDWARE
: c_int
= 8;
456 pub const WH_DEBUG
: c_int
= 9;
457 pub const WH_SHELL
: c_int
= 10;
458 pub const WH_FOREGROUNDIDLE
: c_int
= 11;
459 pub const WH_CALLWNDPROCRET
: c_int
= 12;
460 pub const WH_KEYBOARD_LL
: c_int
= 13;
461 pub const WH_MOUSE_LL
: c_int
= 14;
462 pub const WH_MAX
: c_int
= 14;
463 pub const WH_MINHOOK
: c_int
= WH_MIN
;
464 pub const WH_MAXHOOK
: c_int
= WH_MAX
;
465 pub const HC_ACTION
: c_int
= 0;
466 pub const HC_GETNEXT
: c_int
= 1;
467 pub const HC_SKIP
: c_int
= 2;
468 pub const HC_NOREMOVE
: c_int
= 3;
469 pub const HC_NOREM
: c_int
= HC_NOREMOVE
;
470 pub const HC_SYSMODALON
: c_int
= 4;
471 pub const HC_SYSMODALOFF
: c_int
= 5;
472 pub const HCBT_MOVESIZE
: c_int
= 0;
473 pub const HCBT_MINMAX
: c_int
= 1;
474 pub const HCBT_QS
: c_int
= 2;
475 pub const HCBT_CREATEWND
: c_int
= 3;
476 pub const HCBT_DESTROYWND
: c_int
= 4;
477 pub const HCBT_ACTIVATE
: c_int
= 5;
478 pub const HCBT_CLICKSKIPPED
: c_int
= 6;
479 pub const HCBT_KEYSKIPPED
: c_int
= 7;
480 pub const HCBT_SYSCOMMAND
: c_int
= 8;
481 pub const HCBT_SETFOCUS
: c_int
= 9;
482 STRUCT
!{struct CBT_CREATEWNDA
{
483 lpcs
: *mut CREATESTRUCTA
,
484 hwndInsertAfter
: HWND
,
486 pub type LPCBT_CREATEWNDA
= *mut CBT_CREATEWNDA
;
487 STRUCT
!{struct CBT_CREATEWNDW
{
488 lpcs
: *mut CREATESTRUCTW
,
489 hwndInsertAfter
: HWND
,
491 pub type LPCBT_CREATEWNDW
= *mut CBT_CREATEWNDW
;
492 STRUCT
!{struct CBTACTIVATESTRUCT
{
496 pub type LPCBTACTIVATESTRUCT
= *mut CBTACTIVATESTRUCT
;
497 STRUCT
!{struct WTSSESSION_NOTIFICATION
{
501 pub type PWTSSESSION_NOTIFICATION
= *mut WTSSESSION_NOTIFICATION
;
502 pub const WTS_CONSOLE_CONNECT
: WPARAM
= 0x1;
503 pub const WTS_CONSOLE_DISCONNECT
: WPARAM
= 0x2;
504 pub const WTS_REMOTE_CONNECT
: WPARAM
= 0x3;
505 pub const WTS_REMOTE_DISCONNECT
: WPARAM
= 0x4;
506 pub const WTS_SESSION_LOGON
: WPARAM
= 0x5;
507 pub const WTS_SESSION_LOGOFF
: WPARAM
= 0x6;
508 pub const WTS_SESSION_LOCK
: WPARAM
= 0x7;
509 pub const WTS_SESSION_UNLOCK
: WPARAM
= 0x8;
510 pub const WTS_SESSION_REMOTE_CONTROL
: WPARAM
= 0x9;
511 pub const WTS_SESSION_CREATE
: WPARAM
= 0xa;
512 pub const WTS_SESSION_TERMINATE
: WPARAM
= 0xb;
513 pub const MSGF_DIALOGBOX
: c_int
= 0;
514 pub const MSGF_MESSAGEBOX
: c_int
= 1;
515 pub const MSGF_MENU
: c_int
= 2;
516 pub const MSGF_SCROLLBAR
: c_int
= 5;
517 pub const MSGF_NEXTWINDOW
: c_int
= 6;
518 pub const MSGF_MAX
: c_int
= 8;
519 pub const MSGF_USER
: c_int
= 4096;
520 pub const HSHELL_WINDOWCREATED
: c_int
= 1;
521 pub const HSHELL_WINDOWDESTROYED
: c_int
= 2;
522 pub const HSHELL_ACTIVATESHELLWINDOW
: c_int
= 3;
523 pub const HSHELL_WINDOWACTIVATED
: c_int
= 4;
524 pub const HSHELL_GETMINRECT
: c_int
= 5;
525 pub const HSHELL_REDRAW
: c_int
= 6;
526 pub const HSHELL_TASKMAN
: c_int
= 7;
527 pub const HSHELL_LANGUAGE
: c_int
= 8;
528 pub const HSHELL_SYSMENU
: c_int
= 9;
529 pub const HSHELL_ENDTASK
: c_int
= 10;
530 pub const HSHELL_ACCESSIBILITYSTATE
: c_int
= 11;
531 pub const HSHELL_APPCOMMAND
: c_int
= 12;
532 pub const HSHELL_WINDOWREPLACED
: c_int
= 13;
533 pub const HSHELL_WINDOWREPLACING
: c_int
= 14;
534 pub const HSHELL_MONITORCHANGED
: c_int
= 16;
535 pub const HSHELL_HIGHBIT
: c_int
= 0x8000;
536 pub const HSHELL_FLASH
: c_int
= HSHELL_REDRAW
| HSHELL_HIGHBIT
;
537 pub const HSHELL_RUDEAPPACTIVATED
: c_int
= HSHELL_WINDOWACTIVATED
| HSHELL_HIGHBIT
;
538 pub const APPCOMMAND_BROWSER_BACKWARD
: c_short
= 1;
539 pub const APPCOMMAND_BROWSER_FORWARD
: c_short
= 2;
540 pub const APPCOMMAND_BROWSER_REFRESH
: c_short
= 3;
541 pub const APPCOMMAND_BROWSER_STOP
: c_short
= 4;
542 pub const APPCOMMAND_BROWSER_SEARCH
: c_short
= 5;
543 pub const APPCOMMAND_BROWSER_FAVORITES
: c_short
= 6;
544 pub const APPCOMMAND_BROWSER_HOME
: c_short
= 7;
545 pub const APPCOMMAND_VOLUME_MUTE
: c_short
= 8;
546 pub const APPCOMMAND_VOLUME_DOWN
: c_short
= 9;
547 pub const APPCOMMAND_VOLUME_UP
: c_short
= 10;
548 pub const APPCOMMAND_MEDIA_NEXTTRACK
: c_short
= 11;
549 pub const APPCOMMAND_MEDIA_PREVIOUSTRACK
: c_short
= 12;
550 pub const APPCOMMAND_MEDIA_STOP
: c_short
= 13;
551 pub const APPCOMMAND_MEDIA_PLAY_PAUSE
: c_short
= 14;
552 pub const APPCOMMAND_LAUNCH_MAIL
: c_short
= 15;
553 pub const APPCOMMAND_LAUNCH_MEDIA_SELECT
: c_short
= 16;
554 pub const APPCOMMAND_LAUNCH_APP1
: c_short
= 17;
555 pub const APPCOMMAND_LAUNCH_APP2
: c_short
= 18;
556 pub const APPCOMMAND_BASS_DOWN
: c_short
= 19;
557 pub const APPCOMMAND_BASS_BOOST
: c_short
= 20;
558 pub const APPCOMMAND_BASS_UP
: c_short
= 21;
559 pub const APPCOMMAND_TREBLE_DOWN
: c_short
= 22;
560 pub const APPCOMMAND_TREBLE_UP
: c_short
= 23;
561 pub const APPCOMMAND_MICROPHONE_VOLUME_MUTE
: c_short
= 24;
562 pub const APPCOMMAND_MICROPHONE_VOLUME_DOWN
: c_short
= 25;
563 pub const APPCOMMAND_MICROPHONE_VOLUME_UP
: c_short
= 26;
564 pub const APPCOMMAND_HELP
: c_short
= 27;
565 pub const APPCOMMAND_FIND
: c_short
= 28;
566 pub const APPCOMMAND_NEW
: c_short
= 29;
567 pub const APPCOMMAND_OPEN
: c_short
= 30;
568 pub const APPCOMMAND_CLOSE
: c_short
= 31;
569 pub const APPCOMMAND_SAVE
: c_short
= 32;
570 pub const APPCOMMAND_PRINT
: c_short
= 33;
571 pub const APPCOMMAND_UNDO
: c_short
= 34;
572 pub const APPCOMMAND_REDO
: c_short
= 35;
573 pub const APPCOMMAND_COPY
: c_short
= 36;
574 pub const APPCOMMAND_CUT
: c_short
= 37;
575 pub const APPCOMMAND_PASTE
: c_short
= 38;
576 pub const APPCOMMAND_REPLY_TO_MAIL
: c_short
= 39;
577 pub const APPCOMMAND_FORWARD_MAIL
: c_short
= 40;
578 pub const APPCOMMAND_SEND_MAIL
: c_short
= 41;
579 pub const APPCOMMAND_SPELL_CHECK
: c_short
= 42;
580 pub const APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
: c_short
= 43;
581 pub const APPCOMMAND_MIC_ON_OFF_TOGGLE
: c_short
= 44;
582 pub const APPCOMMAND_CORRECTION_LIST
: c_short
= 45;
583 pub const APPCOMMAND_MEDIA_PLAY
: c_short
= 46;
584 pub const APPCOMMAND_MEDIA_PAUSE
: c_short
= 47;
585 pub const APPCOMMAND_MEDIA_RECORD
: c_short
= 48;
586 pub const APPCOMMAND_MEDIA_FAST_FORWARD
: c_short
= 49;
587 pub const APPCOMMAND_MEDIA_REWIND
: c_short
= 50;
588 pub const APPCOMMAND_MEDIA_CHANNEL_UP
: c_short
= 51;
589 pub const APPCOMMAND_MEDIA_CHANNEL_DOWN
: c_short
= 52;
590 pub const APPCOMMAND_DELETE
: c_short
= 53;
591 pub const APPCOMMAND_DWM_FLIP3D
: c_short
= 54;
592 pub const FAPPCOMMAND_MOUSE
: WORD
= 0x8000;
593 pub const FAPPCOMMAND_KEY
: WORD
= 0;
594 pub const FAPPCOMMAND_OEM
: WORD
= 0x1000;
595 pub const FAPPCOMMAND_MASK
: WORD
= 0xF000;
597 pub fn GET_APPCOMMAND_LPARAM(lParam
: LPARAM
) -> c_short
{
598 (HIWORD(lParam
as DWORD
) & !FAPPCOMMAND_MASK
) as c_short
601 pub fn GET_DEVICE_LPARAM(lParam
: LPARAM
) -> WORD
{
602 HIWORD(lParam
as DWORD
) & FAPPCOMMAND_MASK
604 pub use self::GET_DEVICE_LPARAM
as GET_MOUSEORKEY_LPARAM
;
605 pub use shared
::minwindef
::LOWORD
as GET_FLAGS_LPARAM
;
606 pub use self::GET_FLAGS_LPARAM
as GET_KEYSTATE_LPARAM
;
607 STRUCT
!{struct SHELLHOOKINFO
{
611 pub type LPSHELLHOOKINFO
= *mut SHELLHOOKINFO
;
612 STRUCT
!{struct EVENTMSG
{
619 pub type PEVENTMSGMSG
= *mut EVENTMSG
;
620 pub type NPEVENTMSGMSG
= *mut EVENTMSG
;
621 pub type LPEVENTMSGMSG
= *mut EVENTMSG
;
622 pub type PEVENTMSG
= *mut EVENTMSG
;
623 pub type NPEVENTMSG
= *mut EVENTMSG
;
624 pub type LPEVENTMSG
= *mut EVENTMSG
;
625 STRUCT
!{struct CWPSTRUCT
{
631 pub type PCWPSTRUCT
= *mut CWPSTRUCT
;
632 pub type NPCWPSTRUCT
= *mut CWPSTRUCT
;
633 pub type LPCWPSTRUCT
= *mut CWPSTRUCT
;
634 STRUCT
!{struct CWPRETSTRUCT
{
641 pub type PCWPRETSTRUCT
= *mut CWPRETSTRUCT
;
642 pub type NPCWPRETSTRUCT
= *mut CWPRETSTRUCT
;
643 pub type LPCWPRETSTRUCT
= *mut CWPRETSTRUCT
;
644 pub const LLKHF_EXTENDED
: DWORD
= (KF_EXTENDED
>> 8) as u32;
645 pub const LLKHF_INJECTED
: DWORD
= 0x00000010;
646 pub const LLKHF_ALTDOWN
: DWORD
= (KF_ALTDOWN
>> 8) as u32;
647 pub const LLKHF_UP
: DWORD
= (KF_UP
>> 8) as u32;
648 pub const LLKHF_LOWER_IL_INJECTED
: DWORD
= 0x00000002;
649 pub const LLMHF_INJECTED
: DWORD
= 0x00000001;
650 pub const LLMHF_LOWER_IL_INJECTED
: DWORD
= 0x00000002;
651 STRUCT
!{struct KBDLLHOOKSTRUCT
{
656 dwExtraInfo
: ULONG_PTR
,
658 pub type LPKBDLLHOOKSTRUCT
= *mut KBDLLHOOKSTRUCT
;
659 pub type PKBDLLHOOKSTRUCT
= *mut KBDLLHOOKSTRUCT
;
660 STRUCT
!{struct MSLLHOOKSTRUCT
{
665 dwExtraInfo
: ULONG_PTR
,
667 pub type LPMSLLHOOKSTRUCT
= *mut MSLLHOOKSTRUCT
;
668 pub type PMSLLHOOKSTRUCT
= *mut MSLLHOOKSTRUCT
;
669 STRUCT
!{struct DEBUGHOOKINFO
{
671 idThreadInstaller
: DWORD
,
676 pub type PDEBUGHOOKINFO
= *mut DEBUGHOOKINFO
;
677 pub type NPDEBUGHOOKINFO
= *mut DEBUGHOOKINFO
;
678 pub type LPDEBUGHOOKINFO
= *mut DEBUGHOOKINFO
;
679 STRUCT
!{struct MOUSEHOOKSTRUCT
{
683 dwExtraInfo
: ULONG_PTR
,
685 pub type LPMOUSEHOOKSTRUCT
= *mut MOUSEHOOKSTRUCT
;
686 pub type PMOUSEHOOKSTRUCT
= *mut MOUSEHOOKSTRUCT
;
687 STRUCT
!{struct MOUSEHOOKSTRUCTEX
{
688 parent
: MOUSEHOOKSTRUCT
,
691 pub type LPMOUSEHOOKSTRUCTEX
= *mut MOUSEHOOKSTRUCTEX
;
692 pub type PMOUSEHOOKSTRUCTEX
= *mut MOUSEHOOKSTRUCTEX
;
693 STRUCT
!{struct HARDWAREHOOKSTRUCT
{
699 pub type LPHARDWAREHOOKSTRUCT
= *mut HARDWAREHOOKSTRUCT
;
700 pub type PHARDWAREHOOKSTRUCT
= *mut HARDWAREHOOKSTRUCT
;
701 pub const HKL_PREV
: HKL
= 0 as HKL
;
702 pub const HKL_NEXT
: HKL
= 1 as HKL
;
703 pub const KLF_ACTIVATE
: UINT
= 0x00000001;
704 pub const KLF_SUBSTITUTE_OK
: UINT
= 0x00000002;
705 pub const KLF_REORDER
: UINT
= 0x00000008;
706 pub const KLF_REPLACELANG
: UINT
= 0x00000010;
707 pub const KLF_NOTELLSHELL
: UINT
= 0x00000080;
708 pub const KLF_SETFORPROCESS
: UINT
= 0x00000100;
709 pub const KLF_SHIFTLOCK
: UINT
= 0x00010000;
710 pub const KLF_RESET
: UINT
= 0x40000000;
711 pub const INPUTLANGCHANGE_SYSCHARSET
: WPARAM
= 0x0001;
712 pub const INPUTLANGCHANGE_FORWARD
: WPARAM
= 0x0002;
713 pub const INPUTLANGCHANGE_BACKWARD
: WPARAM
= 0x0004;
714 pub const KL_NAMELENGTH
: usize = 9;
716 pub fn LoadKeyboardLayoutA(
720 pub fn LoadKeyboardLayoutW(
724 pub fn ActivateKeyboardLayout(
731 lpKeyState
: *const BYTE
,
737 pub fn UnloadKeyboardLayout(
740 pub fn GetKeyboardLayoutNameA(
743 pub fn GetKeyboardLayoutNameW(
746 pub fn GetKeyboardLayoutList(
750 pub fn GetKeyboardLayout(
754 STRUCT
!{struct MOUSEMOVEPOINT
{
758 dwExtraInfo
: ULONG_PTR
,
760 pub type PMOUSEMOVEPOINT
= *mut MOUSEMOVEPOINT
;
761 pub type LPMOUSEMOVEPOINT
= *mut MOUSEMOVEPOINT
;
762 pub const GMMP_USE_DISPLAY_POINTS
: DWORD
= 1;
763 pub const GMMP_USE_HIGH_RESOLUTION_POINTS
: DWORD
= 2;
765 pub fn GetMouseMovePointsEx(
767 lppt
: LPMOUSEMOVEPOINT
,
768 lpptBuf
: LPMOUSEMOVEPOINT
,
773 pub const DESKTOP_READOBJECTS
: DWORD
= 0x0001;
774 pub const DESKTOP_CREATEWINDOW
: DWORD
= 0x0002;
775 pub const DESKTOP_CREATEMENU
: DWORD
= 0x0004;
776 pub const DESKTOP_HOOKCONTROL
: DWORD
= 0x0008;
777 pub const DESKTOP_JOURNALRECORD
: DWORD
= 0x0010;
778 pub const DESKTOP_JOURNALPLAYBACK
: DWORD
= 0x0020;
779 pub const DESKTOP_ENUMERATE
: DWORD
= 0x0040;
780 pub const DESKTOP_WRITEOBJECTS
: DWORD
= 0x0080;
781 pub const DESKTOP_SWITCHDESKTOP
: DWORD
= 0x0100;
782 pub const DF_ALLOWOTHERACCOUNTHOOK
: DWORD
= 0x0001;
784 pub fn CreateDesktopA(
787 pDevmode
: *mut DEVMODEA
,
789 dwDesiredAccess
: ACCESS_MASK
,
790 lpsa
: LPSECURITY_ATTRIBUTES
,
792 pub fn CreateDesktopW(
793 lpszDesktop
: LPCWSTR
,
795 pDevmode
: *mut DEVMODEW
,
797 dwDesiredAccess
: ACCESS_MASK
,
798 lpsa
: LPSECURITY_ATTRIBUTES
,
800 pub fn CreateDesktopExA(
803 pDevmode
: *mut DEVMODEA
,
805 dwDesiredAccess
: ACCESS_MASK
,
806 lpsa
: LPSECURITY_ATTRIBUTES
,
810 pub fn CreateDesktopExW(
811 lpszDesktop
: LPCWSTR
,
813 pDevmode
: *mut DEVMODEW
,
815 dwDesiredAccess
: ACCESS_MASK
,
816 lpsa
: LPSECURITY_ATTRIBUTES
,
824 dwDesiredAccess
: ACCESS_MASK
,
827 lpszDesktop
: LPCWSTR
,
830 dwDesiredAccess
: ACCESS_MASK
,
832 pub fn OpenInputDesktop(
835 dwDesiredAccess
: ACCESS_MASK
,
837 pub fn EnumDesktopsA(
839 lpEnumFunc
: DESKTOPENUMPROCA
,
842 pub fn EnumDesktopsW(
844 lpEnumFunc
: DESKTOPENUMPROCW
,
847 pub fn EnumDesktopWindows(
852 pub fn SwitchDesktop(
855 pub fn SetThreadDesktop(
861 pub fn GetThreadDesktop(
865 pub const WINSTA_ENUMDESKTOPS
: DWORD
= 0x0001;
866 pub const WINSTA_READATTRIBUTES
: DWORD
= 0x0002;
867 pub const WINSTA_ACCESSCLIPBOARD
: DWORD
= 0x0004;
868 pub const WINSTA_CREATEDESKTOP
: DWORD
= 0x0008;
869 pub const WINSTA_WRITEATTRIBUTES
: DWORD
= 0x0010;
870 pub const WINSTA_ACCESSGLOBALATOMS
: DWORD
= 0x0020;
871 pub const WINSTA_EXITWINDOWS
: DWORD
= 0x0040;
872 pub const WINSTA_ENUMERATE
: DWORD
= 0x0100;
873 pub const WINSTA_READSCREEN
: DWORD
= 0x0200;
874 pub const WINSTA_ALL_ACCESS
: DWORD
= WINSTA_ENUMDESKTOPS
| WINSTA_READATTRIBUTES
875 | WINSTA_ACCESSCLIPBOARD
| WINSTA_CREATEDESKTOP
| WINSTA_WRITEATTRIBUTES
876 | WINSTA_ACCESSGLOBALATOMS
| WINSTA_EXITWINDOWS
| WINSTA_ENUMERATE
| WINSTA_READSCREEN
;
877 pub const CWF_CREATE_ONLY
: DWORD
= 0x00000001;
878 pub const WSF_VISIBLE
: DWORD
= 0x0001;
880 pub fn CreateWindowStationA(
883 dwDesiredAccess
: ACCESS_MASK
,
884 lpsa
: LPSECURITY_ATTRIBUTES
,
886 pub fn CreateWindowStationW(
889 dwDesiredAccess
: ACCESS_MASK
,
890 lpsa
: LPSECURITY_ATTRIBUTES
,
892 pub fn OpenWindowStationA(
895 dwDesiredAccess
: ACCESS_MASK
,
897 pub fn OpenWindowStationW(
900 dwDesiredAccess
: ACCESS_MASK
,
902 pub fn EnumWindowStationsA(
903 lpEnumFunc
: WINSTAENUMPROCA
,
906 pub fn EnumWindowStationsW(
907 lpEnumFunc
: WINSTAENUMPROCW
,
910 pub fn CloseWindowStation(
913 pub fn SetProcessWindowStation(
916 pub fn GetProcessWindowStation() -> HWINSTA
;
917 pub fn SetUserObjectSecurity(
919 pSIRequested
: PSECURITY_INFORMATION
,
920 pSID
: PSECURITY_DESCRIPTOR
,
922 pub fn GetUserObjectSecurity(
924 pSIRequested
: PSECURITY_INFORMATION
,
925 pSID
: PSECURITY_DESCRIPTOR
,
927 lpnLengthNeeded
: LPDWORD
,
930 pub const UOI_FLAGS
: DWORD
= 1;
931 pub const UOI_NAME
: DWORD
= 2;
932 pub const UOI_TYPE
: DWORD
= 3;
933 pub const UOI_USER_SID
: DWORD
= 4;
934 pub const UOI_HEAPSIZE
: DWORD
= 5;
935 pub const UOI_IO
: DWORD
= 6;
936 pub const UOI_TIMERPROC_EXCEPTION_SUPPRESSION
: DWORD
= 7;
937 STRUCT
!{struct USEROBJECTFLAGS
{
942 pub type PUSEROBJECTFLAGS
= *mut USEROBJECTFLAGS
;
944 pub fn GetUserObjectInformationA(
949 lpnLengthNeeded
: LPDWORD
,
951 pub fn GetUserObjectInformationW(
956 lpnLengthNeeded
: LPDWORD
,
958 pub fn SetUserObjectInformationA(
964 pub fn SetUserObjectInformationW(
971 STRUCT
!{struct WNDCLASSEXA
{
974 lpfnWndProc
: WNDPROC
,
977 hInstance
: HINSTANCE
,
980 hbrBackground
: HBRUSH
,
981 lpszMenuName
: LPCSTR
,
982 lpszClassName
: LPCSTR
,
985 pub type PWNDCLASSEXA
= *mut WNDCLASSEXA
;
986 pub type NPWNDCLASSEXA
= *mut WNDCLASSEXA
;
987 pub type LPWNDCLASSEXA
= *mut WNDCLASSEXA
;
988 STRUCT
!{struct WNDCLASSEXW
{
991 lpfnWndProc
: WNDPROC
,
994 hInstance
: HINSTANCE
,
997 hbrBackground
: HBRUSH
,
998 lpszMenuName
: LPCWSTR
,
999 lpszClassName
: LPCWSTR
,
1002 pub type PWNDCLASSEXW
= *mut WNDCLASSEXW
;
1003 pub type NPWNDCLASSEXW
= *mut WNDCLASSEXW
;
1004 pub type LPWNDCLASSEXW
= *mut WNDCLASSEXW
;
1005 STRUCT
!{struct WNDCLASSA
{
1007 lpfnWndProc
: WNDPROC
,
1010 hInstance
: HINSTANCE
,
1013 hbrBackground
: HBRUSH
,
1014 lpszMenuName
: LPCSTR
,
1015 lpszClassName
: LPCSTR
,
1017 pub type PWNDCLASSA
= *mut WNDCLASSA
;
1018 pub type NPWNDCLASSA
= *mut WNDCLASSA
;
1019 pub type LPWNDCLASSA
= *mut WNDCLASSA
;
1020 STRUCT
!{struct WNDCLASSW
{
1022 lpfnWndProc
: WNDPROC
,
1025 hInstance
: HINSTANCE
,
1028 hbrBackground
: HBRUSH
,
1029 lpszMenuName
: LPCWSTR
,
1030 lpszClassName
: LPCWSTR
,
1032 pub type PWNDCLASSW
= *mut WNDCLASSW
;
1033 pub type NPWNDCLASSW
= *mut WNDCLASSW
;
1034 pub type LPWNDCLASSW
= *mut WNDCLASSW
;
1036 pub fn IsHungAppWindow(
1039 pub fn DisableProcessWindowsGhosting();
1041 STRUCT
!{struct MSG
{
1049 pub type PMSG
= *mut MSG
;
1050 pub type NPMSG
= *mut MSG
;
1051 pub type LPMSG
= *mut MSG
;
1057 pub const GWL_WNDPROC
: c_int
= -4;
1058 pub const GWL_HINSTANCE
: c_int
= -6;
1059 pub const GWL_HWNDPARENT
: c_int
= -8;
1060 pub const GWL_STYLE
: c_int
= -16;
1061 pub const GWL_EXSTYLE
: c_int
= -20;
1062 pub const GWL_USERDATA
: c_int
= -21;
1063 pub const GWL_ID
: c_int
= -12;
1064 pub const GWLP_WNDPROC
: c_int
= -4;
1065 pub const GWLP_HINSTANCE
: c_int
= -6;
1066 pub const GWLP_HWNDPARENT
: c_int
= -8;
1067 pub const GWLP_USERDATA
: c_int
= -21;
1068 pub const GWLP_ID
: c_int
= -12;
1069 pub const GCL_MENUNAME
: c_int
= -8;
1070 pub const GCL_HBRBACKGROUND
: c_int
= -10;
1071 pub const GCL_HCURSOR
: c_int
= -12;
1072 pub const GCL_HICON
: c_int
= -14;
1073 pub const GCL_HMODULE
: c_int
= -16;
1074 pub const GCL_CBWNDEXTRA
: c_int
= -18;
1075 pub const GCL_CBCLSEXTRA
: c_int
= -20;
1076 pub const GCL_WNDPROC
: c_int
= -24;
1077 pub const GCL_STYLE
: c_int
= -26;
1078 pub const GCW_ATOM
: c_int
= -32;
1079 pub const GCL_HICONSM
: c_int
= -34;
1080 pub const GCLP_MENUNAME
: c_int
= -8;
1081 pub const GCLP_HBRBACKGROUND
: c_int
= -10;
1082 pub const GCLP_HCURSOR
: c_int
= -12;
1083 pub const GCLP_HICON
: c_int
= -14;
1084 pub const GCLP_HMODULE
: c_int
= -16;
1085 pub const GCLP_WNDPROC
: c_int
= -24;
1086 pub const GCLP_HICONSM
: c_int
= -34;
1087 pub const WM_NULL
: UINT
= 0x0000;
1088 pub const WM_CREATE
: UINT
= 0x0001;
1089 pub const WM_DESTROY
: UINT
= 0x0002;
1090 pub const WM_MOVE
: UINT
= 0x0003;
1091 pub const WM_SIZE
: UINT
= 0x0005;
1092 pub const WM_ACTIVATE
: UINT
= 0x0006;
1093 pub const WA_INACTIVE
: WORD
= 0;
1094 pub const WA_ACTIVE
: WORD
= 1;
1095 pub const WA_CLICKACTIVE
: WORD
= 2;
1096 pub const WM_SETFOCUS
: UINT
= 0x0007;
1097 pub const WM_KILLFOCUS
: UINT
= 0x0008;
1098 pub const WM_ENABLE
: UINT
= 0x000A;
1099 pub const WM_SETREDRAW
: UINT
= 0x000B;
1100 pub const WM_SETTEXT
: UINT
= 0x000C;
1101 pub const WM_GETTEXT
: UINT
= 0x000D;
1102 pub const WM_GETTEXTLENGTH
: UINT
= 0x000E;
1103 pub const WM_PAINT
: UINT
= 0x000F;
1104 pub const WM_CLOSE
: UINT
= 0x0010;
1105 pub const WM_QUERYENDSESSION
: UINT
= 0x0011;
1106 pub const WM_QUERYOPEN
: UINT
= 0x0013;
1107 pub const WM_ENDSESSION
: UINT
= 0x0016;
1108 pub const WM_QUIT
: UINT
= 0x0012;
1109 pub const WM_ERASEBKGND
: UINT
= 0x0014;
1110 pub const WM_SYSCOLORCHANGE
: UINT
= 0x0015;
1111 pub const WM_SHOWWINDOW
: UINT
= 0x0018;
1112 pub const WM_WININICHANGE
: UINT
= 0x001A;
1113 pub const WM_SETTINGCHANGE
: UINT
= WM_WININICHANGE
;
1114 pub const WM_DEVMODECHANGE
: UINT
= 0x001B;
1115 pub const WM_ACTIVATEAPP
: UINT
= 0x001C;
1116 pub const WM_FONTCHANGE
: UINT
= 0x001D;
1117 pub const WM_TIMECHANGE
: UINT
= 0x001E;
1118 pub const WM_CANCELMODE
: UINT
= 0x001F;
1119 pub const WM_SETCURSOR
: UINT
= 0x0020;
1120 pub const WM_MOUSEACTIVATE
: UINT
= 0x0021;
1121 pub const WM_CHILDACTIVATE
: UINT
= 0x0022;
1122 pub const WM_QUEUESYNC
: UINT
= 0x0023;
1123 pub const WM_GETMINMAXINFO
: UINT
= 0x0024;
1124 STRUCT
!{struct MINMAXINFO
{
1127 ptMaxPosition
: POINT
,
1128 ptMinTrackSize
: POINT
,
1129 ptMaxTrackSize
: POINT
,
1131 pub type PMINMAXINFO
= *mut MINMAXINFO
;
1132 pub type LPMINMAXINFO
= *mut MINMAXINFO
;
1133 pub const WM_PAINTICON
: UINT
= 0x0026;
1134 pub const WM_ICONERASEBKGND
: UINT
= 0x0027;
1135 pub const WM_NEXTDLGCTL
: UINT
= 0x0028;
1136 pub const WM_SPOOLERSTATUS
: UINT
= 0x002A;
1137 pub const WM_DRAWITEM
: UINT
= 0x002B;
1138 pub const WM_MEASUREITEM
: UINT
= 0x002C;
1139 pub const WM_DELETEITEM
: UINT
= 0x002D;
1140 pub const WM_VKEYTOITEM
: UINT
= 0x002E;
1141 pub const WM_CHARTOITEM
: UINT
= 0x002F;
1142 pub const WM_SETFONT
: UINT
= 0x0030;
1143 pub const WM_GETFONT
: UINT
= 0x0031;
1144 pub const WM_SETHOTKEY
: UINT
= 0x0032;
1145 pub const WM_GETHOTKEY
: UINT
= 0x0033;
1146 pub const WM_QUERYDRAGICON
: UINT
= 0x0037;
1147 pub const WM_COMPAREITEM
: UINT
= 0x0039;
1148 pub const WM_GETOBJECT
: UINT
= 0x003D;
1149 pub const WM_COMPACTING
: UINT
= 0x0041;
1150 pub const WM_COMMNOTIFY
: UINT
= 0x0044;
1151 pub const WM_WINDOWPOSCHANGING
: UINT
= 0x0046;
1152 pub const WM_WINDOWPOSCHANGED
: UINT
= 0x0047;
1153 pub const WM_POWER
: UINT
= 0x0048;
1154 pub const PWR_OK
: WPARAM
= 1;
1155 pub const PWR_FAIL
: WPARAM
= -1isize
as usize;
1156 pub const PWR_SUSPENDREQUEST
: WPARAM
= 1;
1157 pub const PWR_SUSPENDRESUME
: WPARAM
= 2;
1158 pub const PWR_CRITICALRESUME
: WPARAM
= 3;
1159 pub const WM_COPYDATA
: UINT
= 0x004A;
1160 pub const WM_CANCELJOURNAL
: UINT
= 0x004B;
1161 STRUCT
!{struct COPYDATASTRUCT
{
1166 pub type PCOPYDATASTRUCT
= *mut COPYDATASTRUCT
;
1167 STRUCT
!{struct MDINEXTMENU
{
1172 pub type PMDINEXTMENU
= *mut MDINEXTMENU
;
1173 pub type LPMDINEXTMENU
= *mut MDINEXTMENU
;
1174 pub const WM_NOTIFY
: UINT
= 0x004E;
1175 pub const WM_INPUTLANGCHANGEREQUEST
: UINT
= 0x0050;
1176 pub const WM_INPUTLANGCHANGE
: UINT
= 0x0051;
1177 pub const WM_TCARD
: UINT
= 0x0052;
1178 pub const WM_HELP
: UINT
= 0x0053;
1179 pub const WM_USERCHANGED
: UINT
= 0x0054;
1180 pub const WM_NOTIFYFORMAT
: UINT
= 0x0055;
1181 pub const NFR_ANSI
: LRESULT
= 1;
1182 pub const NFR_UNICODE
: LRESULT
= 2;
1183 pub const NF_QUERY
: LPARAM
= 3;
1184 pub const NF_REQUERY
: LPARAM
= 4;
1185 pub const WM_CONTEXTMENU
: UINT
= 0x007B;
1186 pub const WM_STYLECHANGING
: UINT
= 0x007C;
1187 pub const WM_STYLECHANGED
: UINT
= 0x007D;
1188 pub const WM_DISPLAYCHANGE
: UINT
= 0x007E;
1189 pub const WM_GETICON
: UINT
= 0x007F;
1190 pub const WM_SETICON
: UINT
= 0x0080;
1191 pub const WM_NCCREATE
: UINT
= 0x0081;
1192 pub const WM_NCDESTROY
: UINT
= 0x0082;
1193 pub const WM_NCCALCSIZE
: UINT
= 0x0083;
1194 pub const WM_NCHITTEST
: UINT
= 0x0084;
1195 pub const WM_NCPAINT
: UINT
= 0x0085;
1196 pub const WM_NCACTIVATE
: UINT
= 0x0086;
1197 pub const WM_GETDLGCODE
: UINT
= 0x0087;
1198 pub const WM_SYNCPAINT
: UINT
= 0x0088;
1199 pub const WM_NCMOUSEMOVE
: UINT
= 0x00A0;
1200 pub const WM_NCLBUTTONDOWN
: UINT
= 0x00A1;
1201 pub const WM_NCLBUTTONUP
: UINT
= 0x00A2;
1202 pub const WM_NCLBUTTONDBLCLK
: UINT
= 0x00A3;
1203 pub const WM_NCRBUTTONDOWN
: UINT
= 0x00A4;
1204 pub const WM_NCRBUTTONUP
: UINT
= 0x00A5;
1205 pub const WM_NCRBUTTONDBLCLK
: UINT
= 0x00A6;
1206 pub const WM_NCMBUTTONDOWN
: UINT
= 0x00A7;
1207 pub const WM_NCMBUTTONUP
: UINT
= 0x00A8;
1208 pub const WM_NCMBUTTONDBLCLK
: UINT
= 0x00A9;
1209 pub const WM_NCXBUTTONDOWN
: UINT
= 0x00AB;
1210 pub const WM_NCXBUTTONUP
: UINT
= 0x00AC;
1211 pub const WM_NCXBUTTONDBLCLK
: UINT
= 0x00AD;
1212 pub const WM_INPUT_DEVICE_CHANGE
: UINT
= 0x00FE;
1213 pub const WM_INPUT
: UINT
= 0x00FF;
1214 pub const WM_KEYFIRST
: UINT
= 0x0100;
1215 pub const WM_KEYDOWN
: UINT
= 0x0100;
1216 pub const WM_KEYUP
: UINT
= 0x0101;
1217 pub const WM_CHAR
: UINT
= 0x0102;
1218 pub const WM_DEADCHAR
: UINT
= 0x0103;
1219 pub const WM_SYSKEYDOWN
: UINT
= 0x0104;
1220 pub const WM_SYSKEYUP
: UINT
= 0x0105;
1221 pub const WM_SYSCHAR
: UINT
= 0x0106;
1222 pub const WM_SYSDEADCHAR
: UINT
= 0x0107;
1223 pub const WM_UNICHAR
: UINT
= 0x0109;
1224 pub const WM_KEYLAST
: UINT
= 0x0109;
1225 pub const UNICODE_NOCHAR
: WPARAM
= 0xFFFF;
1226 pub const WM_IME_STARTCOMPOSITION
: UINT
= 0x010D;
1227 pub const WM_IME_ENDCOMPOSITION
: UINT
= 0x010E;
1228 pub const WM_IME_COMPOSITION
: UINT
= 0x010F;
1229 pub const WM_IME_KEYLAST
: UINT
= 0x010F;
1230 pub const WM_INITDIALOG
: UINT
= 0x0110;
1231 pub const WM_COMMAND
: UINT
= 0x0111;
1232 pub const WM_SYSCOMMAND
: UINT
= 0x0112;
1233 pub const WM_TIMER
: UINT
= 0x0113;
1234 pub const WM_HSCROLL
: UINT
= 0x0114;
1235 pub const WM_VSCROLL
: UINT
= 0x0115;
1236 pub const WM_INITMENU
: UINT
= 0x0116;
1237 pub const WM_INITMENUPOPUP
: UINT
= 0x0117;
1238 pub const WM_GESTURE
: UINT
= 0x0119;
1239 pub const WM_GESTURENOTIFY
: UINT
= 0x011A;
1240 pub const WM_MENUSELECT
: UINT
= 0x011F;
1241 pub const WM_MENUCHAR
: UINT
= 0x0120;
1242 pub const WM_ENTERIDLE
: UINT
= 0x0121;
1243 pub const WM_MENURBUTTONUP
: UINT
= 0x0122;
1244 pub const WM_MENUDRAG
: UINT
= 0x0123;
1245 pub const WM_MENUGETOBJECT
: UINT
= 0x0124;
1246 pub const WM_UNINITMENUPOPUP
: UINT
= 0x0125;
1247 pub const WM_MENUCOMMAND
: UINT
= 0x0126;
1248 pub const WM_CHANGEUISTATE
: UINT
= 0x0127;
1249 pub const WM_UPDATEUISTATE
: UINT
= 0x0128;
1250 pub const WM_QUERYUISTATE
: UINT
= 0x0129;
1251 pub const UIS_SET
: WORD
= 1;
1252 pub const UIS_CLEAR
: WORD
= 2;
1253 pub const UIS_INITIALIZE
: WORD
= 3;
1254 pub const UISF_HIDEFOCUS
: WORD
= 0x1;
1255 pub const UISF_HIDEACCEL
: WORD
= 0x2;
1256 pub const UISF_ACTIVE
: WORD
= 0x4;
1257 pub const WM_CTLCOLORMSGBOX
: UINT
= 0x0132;
1258 pub const WM_CTLCOLOREDIT
: UINT
= 0x0133;
1259 pub const WM_CTLCOLORLISTBOX
: UINT
= 0x0134;
1260 pub const WM_CTLCOLORBTN
: UINT
= 0x0135;
1261 pub const WM_CTLCOLORDLG
: UINT
= 0x0136;
1262 pub const WM_CTLCOLORSCROLLBAR
: UINT
= 0x0137;
1263 pub const WM_CTLCOLORSTATIC
: UINT
= 0x0138;
1264 pub const MN_GETHMENU
: UINT
= 0x01E1;
1265 pub const WM_MOUSEFIRST
: UINT
= 0x0200;
1266 pub const WM_MOUSEMOVE
: UINT
= 0x0200;
1267 pub const WM_LBUTTONDOWN
: UINT
= 0x0201;
1268 pub const WM_LBUTTONUP
: UINT
= 0x0202;
1269 pub const WM_LBUTTONDBLCLK
: UINT
= 0x0203;
1270 pub const WM_RBUTTONDOWN
: UINT
= 0x0204;
1271 pub const WM_RBUTTONUP
: UINT
= 0x0205;
1272 pub const WM_RBUTTONDBLCLK
: UINT
= 0x0206;
1273 pub const WM_MBUTTONDOWN
: UINT
= 0x0207;
1274 pub const WM_MBUTTONUP
: UINT
= 0x0208;
1275 pub const WM_MBUTTONDBLCLK
: UINT
= 0x0209;
1276 pub const WM_MOUSEWHEEL
: UINT
= 0x020A;
1277 pub const WM_XBUTTONDOWN
: UINT
= 0x020B;
1278 pub const WM_XBUTTONUP
: UINT
= 0x020C;
1279 pub const WM_XBUTTONDBLCLK
: UINT
= 0x020D;
1280 pub const WM_MOUSEHWHEEL
: UINT
= 0x020E;
1281 pub const WM_MOUSELAST
: UINT
= 0x020E;
1282 pub const WHEEL_DELTA
: c_short
= 120;
1284 pub fn GET_WHEEL_DELTA_WPARAM(wParam
: WPARAM
) -> c_short
{
1285 HIWORD(wParam
as DWORD
) as c_short
1287 pub const WHEEL_PAGESCROLL
: UINT
= UINT_MAX
;
1289 pub fn GET_KEYSTATE_WPARAM(wParam
: WPARAM
) -> WORD
{
1290 LOWORD(wParam
as DWORD
)
1293 pub fn GET_NCHITTEST_WPARAM(wParam
: WPARAM
) -> c_short
{
1294 LOWORD(wParam
as DWORD
) as c_short
1297 pub fn GET_XBUTTON_WPARAM(wParam
: WPARAM
) -> WORD
{
1298 HIWORD(wParam
as DWORD
)
1300 pub const XBUTTON1
: WORD
= 0x0001;
1301 pub const XBUTTON2
: WORD
= 0x0002;
1302 pub const WM_PARENTNOTIFY
: UINT
= 0x0210;
1303 pub const WM_ENTERMENULOOP
: UINT
= 0x0211;
1304 pub const WM_EXITMENULOOP
: UINT
= 0x0212;
1305 pub const WM_NEXTMENU
: UINT
= 0x0213;
1306 pub const WM_SIZING
: UINT
= 0x0214;
1307 pub const WM_CAPTURECHANGED
: UINT
= 0x0215;
1308 pub const WM_MOVING
: UINT
= 0x0216;
1309 pub const WM_POWERBROADCAST
: UINT
= 0x0218;
1310 pub const PBT_APMQUERYSUSPEND
: WPARAM
= 0x0000;
1311 pub const PBT_APMQUERYSTANDBY
: WPARAM
= 0x0001;
1312 pub const PBT_APMQUERYSUSPENDFAILED
: WPARAM
= 0x0002;
1313 pub const PBT_APMQUERYSTANDBYFAILED
: WPARAM
= 0x0003;
1314 pub const PBT_APMSUSPEND
: WPARAM
= 0x0004;
1315 pub const PBT_APMSTANDBY
: WPARAM
= 0x0005;
1316 pub const PBT_APMRESUMECRITICAL
: WPARAM
= 0x0006;
1317 pub const PBT_APMRESUMESUSPEND
: WPARAM
= 0x0007;
1318 pub const PBT_APMRESUMESTANDBY
: WPARAM
= 0x0008;
1319 pub const PBTF_APMRESUMEFROMFAILURE
: LPARAM
= 0x00000001;
1320 pub const PBT_APMBATTERYLOW
: WPARAM
= 0x0009;
1321 pub const PBT_APMPOWERSTATUSCHANGE
: WPARAM
= 0x000A;
1322 pub const PBT_APMOEMEVENT
: WPARAM
= 0x000B;
1323 pub const PBT_APMRESUMEAUTOMATIC
: WPARAM
= 0x0012;
1324 pub const PBT_POWERSETTINGCHANGE
: WPARAM
= 0x8013;
1325 STRUCT
!{struct POWERBROADCAST_SETTING
{
1330 pub type PPOWERBROADCAST_SETTING
= *mut POWERBROADCAST_SETTING
;
1331 pub const WM_DEVICECHANGE
: UINT
= 0x0219;
1332 pub const WM_MDICREATE
: UINT
= 0x0220;
1333 pub const WM_MDIDESTROY
: UINT
= 0x0221;
1334 pub const WM_MDIACTIVATE
: UINT
= 0x0222;
1335 pub const WM_MDIRESTORE
: UINT
= 0x0223;
1336 pub const WM_MDINEXT
: UINT
= 0x0224;
1337 pub const WM_MDIMAXIMIZE
: UINT
= 0x0225;
1338 pub const WM_MDITILE
: UINT
= 0x0226;
1339 pub const WM_MDICASCADE
: UINT
= 0x0227;
1340 pub const WM_MDIICONARRANGE
: UINT
= 0x0228;
1341 pub const WM_MDIGETACTIVE
: UINT
= 0x0229;
1342 pub const WM_MDISETMENU
: UINT
= 0x0230;
1343 pub const WM_ENTERSIZEMOVE
: UINT
= 0x0231;
1344 pub const WM_EXITSIZEMOVE
: UINT
= 0x0232;
1345 pub const WM_DROPFILES
: UINT
= 0x0233;
1346 pub const WM_MDIREFRESHMENU
: UINT
= 0x0234;
1347 pub const WM_POINTERDEVICECHANGE
: UINT
= 0x238;
1348 pub const WM_POINTERDEVICEINRANGE
: UINT
= 0x239;
1349 pub const WM_POINTERDEVICEOUTOFRANGE
: UINT
= 0x23A;
1350 pub const WM_TOUCH
: UINT
= 0x0240;
1351 pub const WM_NCPOINTERUPDATE
: UINT
= 0x0241;
1352 pub const WM_NCPOINTERDOWN
: UINT
= 0x0242;
1353 pub const WM_NCPOINTERUP
: UINT
= 0x0243;
1354 pub const WM_POINTERUPDATE
: UINT
= 0x0245;
1355 pub const WM_POINTERDOWN
: UINT
= 0x0246;
1356 pub const WM_POINTERUP
: UINT
= 0x0247;
1357 pub const WM_POINTERENTER
: UINT
= 0x0249;
1358 pub const WM_POINTERLEAVE
: UINT
= 0x024A;
1359 pub const WM_POINTERACTIVATE
: UINT
= 0x024B;
1360 pub const WM_POINTERCAPTURECHANGED
: UINT
= 0x024C;
1361 pub const WM_TOUCHHITTESTING
: UINT
= 0x024D;
1362 pub const WM_POINTERWHEEL
: UINT
= 0x024E;
1363 pub const WM_POINTERHWHEEL
: UINT
= 0x024F;
1364 pub const DM_POINTERHITTEST
: UINT
= 0x0250;
1365 pub const WM_POINTERROUTEDTO
: UINT
= 0x0251;
1366 pub const WM_POINTERROUTEDAWAY
: UINT
= 0x0252;
1367 pub const WM_POINTERROUTEDRELEASED
: UINT
= 0x0253;
1368 pub const WM_IME_SETCONTEXT
: UINT
= 0x0281;
1369 pub const WM_IME_NOTIFY
: UINT
= 0x0282;
1370 pub const WM_IME_CONTROL
: UINT
= 0x0283;
1371 pub const WM_IME_COMPOSITIONFULL
: UINT
= 0x0284;
1372 pub const WM_IME_SELECT
: UINT
= 0x0285;
1373 pub const WM_IME_CHAR
: UINT
= 0x0286;
1374 pub const WM_IME_REQUEST
: UINT
= 0x0288;
1375 pub const WM_IME_KEYDOWN
: UINT
= 0x0290;
1376 pub const WM_IME_KEYUP
: UINT
= 0x0291;
1377 pub const WM_MOUSEHOVER
: UINT
= 0x02A1;
1378 pub const WM_MOUSELEAVE
: UINT
= 0x02A3;
1379 pub const WM_NCMOUSEHOVER
: UINT
= 0x02A0;
1380 pub const WM_NCMOUSELEAVE
: UINT
= 0x02A2;
1381 pub const WM_WTSSESSION_CHANGE
: UINT
= 0x02B1;
1382 pub const WM_TABLET_FIRST
: UINT
= 0x02c0;
1383 pub const WM_TABLET_LAST
: UINT
= 0x02df;
1384 pub const WM_DPICHANGED
: UINT
= 0x02E0;
1385 pub const WM_DPICHANGED_BEFOREPARENT
: UINT
= 0x02E2;
1386 pub const WM_DPICHANGED_AFTERPARENT
: UINT
= 0x02E3;
1387 pub const WM_GETDPISCALEDSIZE
: UINT
= 0x02E4;
1388 pub const WM_CUT
: UINT
= 0x0300;
1389 pub const WM_COPY
: UINT
= 0x0301;
1390 pub const WM_PASTE
: UINT
= 0x0302;
1391 pub const WM_CLEAR
: UINT
= 0x0303;
1392 pub const WM_UNDO
: UINT
= 0x0304;
1393 pub const WM_RENDERFORMAT
: UINT
= 0x0305;
1394 pub const WM_RENDERALLFORMATS
: UINT
= 0x0306;
1395 pub const WM_DESTROYCLIPBOARD
: UINT
= 0x0307;
1396 pub const WM_DRAWCLIPBOARD
: UINT
= 0x0308;
1397 pub const WM_PAINTCLIPBOARD
: UINT
= 0x0309;
1398 pub const WM_VSCROLLCLIPBOARD
: UINT
= 0x030A;
1399 pub const WM_SIZECLIPBOARD
: UINT
= 0x030B;
1400 pub const WM_ASKCBFORMATNAME
: UINT
= 0x030C;
1401 pub const WM_CHANGECBCHAIN
: UINT
= 0x030D;
1402 pub const WM_HSCROLLCLIPBOARD
: UINT
= 0x030E;
1403 pub const WM_QUERYNEWPALETTE
: UINT
= 0x030F;
1404 pub const WM_PALETTEISCHANGING
: UINT
= 0x0310;
1405 pub const WM_PALETTECHANGED
: UINT
= 0x0311;
1406 pub const WM_HOTKEY
: UINT
= 0x0312;
1407 pub const WM_PRINT
: UINT
= 0x0317;
1408 pub const WM_PRINTCLIENT
: UINT
= 0x0318;
1409 pub const WM_APPCOMMAND
: UINT
= 0x0319;
1410 pub const WM_THEMECHANGED
: UINT
= 0x031A;
1411 pub const WM_CLIPBOARDUPDATE
: UINT
= 0x031D;
1412 pub const WM_DWMCOMPOSITIONCHANGED
: UINT
= 0x031E;
1413 pub const WM_DWMNCRENDERINGCHANGED
: UINT
= 0x031F;
1414 pub const WM_DWMCOLORIZATIONCOLORCHANGED
: UINT
= 0x0320;
1415 pub const WM_DWMWINDOWMAXIMIZEDCHANGE
: UINT
= 0x0321;
1416 pub const WM_DWMSENDICONICTHUMBNAIL
: UINT
= 0x0323;
1417 pub const WM_DWMSENDICONICLIVEPREVIEWBITMAP
: UINT
= 0x0326;
1418 pub const WM_GETTITLEBARINFOEX
: UINT
= 0x033F;
1419 pub const WM_HANDHELDFIRST
: UINT
= 0x0358;
1420 pub const WM_HANDHELDLAST
: UINT
= 0x035F;
1421 pub const WM_AFXFIRST
: UINT
= 0x0360;
1422 pub const WM_AFXLAST
: UINT
= 0x037F;
1423 pub const WM_PENWINFIRST
: UINT
= 0x0380;
1424 pub const WM_PENWINLAST
: UINT
= 0x038F;
1425 pub const WM_APP
: UINT
= 0x8000;
1426 pub const WM_USER
: UINT
= 0x0400;
1427 pub const WMSZ_LEFT
: UINT
= 1;
1428 pub const WMSZ_RIGHT
: UINT
= 2;
1429 pub const WMSZ_TOP
: UINT
= 3;
1430 pub const WMSZ_TOPLEFT
: UINT
= 4;
1431 pub const WMSZ_TOPRIGHT
: UINT
= 5;
1432 pub const WMSZ_BOTTOM
: UINT
= 6;
1433 pub const WMSZ_BOTTOMLEFT
: UINT
= 7;
1434 pub const WMSZ_BOTTOMRIGHT
: UINT
= 8;
1435 pub const HTERROR
: LRESULT
= -2;
1436 pub const HTTRANSPARENT
: LRESULT
= -1;
1437 pub const HTNOWHERE
: LRESULT
= 0;
1438 pub const HTCLIENT
: LRESULT
= 1;
1439 pub const HTCAPTION
: LRESULT
= 2;
1440 pub const HTSYSMENU
: LRESULT
= 3;
1441 pub const HTGROWBOX
: LRESULT
= 4;
1442 pub const HTSIZE
: LRESULT
= HTGROWBOX
;
1443 pub const HTMENU
: LRESULT
= 5;
1444 pub const HTHSCROLL
: LRESULT
= 6;
1445 pub const HTVSCROLL
: LRESULT
= 7;
1446 pub const HTMINBUTTON
: LRESULT
= 8;
1447 pub const HTMAXBUTTON
: LRESULT
= 9;
1448 pub const HTLEFT
: LRESULT
= 10;
1449 pub const HTRIGHT
: LRESULT
= 11;
1450 pub const HTTOP
: LRESULT
= 12;
1451 pub const HTTOPLEFT
: LRESULT
= 13;
1452 pub const HTTOPRIGHT
: LRESULT
= 14;
1453 pub const HTBOTTOM
: LRESULT
= 15;
1454 pub const HTBOTTOMLEFT
: LRESULT
= 16;
1455 pub const HTBOTTOMRIGHT
: LRESULT
= 17;
1456 pub const HTBORDER
: LRESULT
= 18;
1457 pub const HTREDUCE
: LRESULT
= HTMINBUTTON
;
1458 pub const HTZOOM
: LRESULT
= HTMAXBUTTON
;
1459 pub const HTSIZEFIRST
: LRESULT
= HTLEFT
;
1460 pub const HTSIZELAST
: LRESULT
= HTBOTTOMRIGHT
;
1461 pub const HTOBJECT
: LRESULT
= 19;
1462 pub const HTCLOSE
: LRESULT
= 20;
1463 pub const HTHELP
: LRESULT
= 21;
1464 pub const SMTO_NORMAL
: UINT
= 0x0000;
1465 pub const SMTO_BLOCK
: UINT
= 0x0001;
1466 pub const SMTO_ABORTIFHUNG
: UINT
= 0x0002;
1467 pub const SMTO_NOTIMEOUTIFNOTHUNG
: UINT
= 0x0008;
1468 pub const SMTO_ERRORONEXIT
: UINT
= 0x0020;
1469 pub const MA_ACTIVATE
: UINT
= 1;
1470 pub const MA_ACTIVATEANDEAT
: UINT
= 2;
1471 pub const MA_NOACTIVATE
: UINT
= 3;
1472 pub const MA_NOACTIVATEANDEAT
: UINT
= 4;
1473 pub const ICON_SMALL
: UINT
= 0;
1474 pub const ICON_BIG
: UINT
= 1;
1475 pub const ICON_SMALL2
: UINT
= 2;
1477 pub fn RegisterWindowMessageA(
1480 pub fn RegisterWindowMessageW(
1484 pub const SIZE_RESTORED
: WPARAM
= 0;
1485 pub const SIZE_MINIMIZED
: WPARAM
= 1;
1486 pub const SIZE_MAXIMIZED
: WPARAM
= 2;
1487 pub const SIZE_MAXSHOW
: WPARAM
= 3;
1488 pub const SIZE_MAXHIDE
: WPARAM
= 4;
1489 pub const SIZENORMAL
: WPARAM
= SIZE_RESTORED
;
1490 pub const SIZEICONIC
: WPARAM
= SIZE_MINIMIZED
;
1491 pub const SIZEFULLSCREEN
: WPARAM
= SIZE_MAXIMIZED
;
1492 pub const SIZEZOOMSHOW
: WPARAM
= SIZE_MAXSHOW
;
1493 pub const SIZEZOOMHIDE
: WPARAM
= SIZE_MAXHIDE
;
1494 STRUCT
!{struct WINDOWPOS
{
1496 hwndInsertAfter
: HWND
,
1503 pub type LPWINDOWPOS
= *mut WINDOWPOS
;
1504 pub type PWINDOWPOS
= *mut WINDOWPOS
;
1505 STRUCT
!{struct NCCALCSIZE_PARAMS
{
1509 pub type LPNCCALCSIZE_PARAMS
= *mut NCCALCSIZE_PARAMS
;
1510 pub const WVR_ALIGNTOP
: LRESULT
= 0x0010;
1511 pub const WVR_ALIGNLEFT
: LRESULT
= 0x0020;
1512 pub const WVR_ALIGNBOTTOM
: LRESULT
= 0x0040;
1513 pub const WVR_ALIGNRIGHT
: LRESULT
= 0x0080;
1514 pub const WVR_HREDRAW
: LRESULT
= 0x0100;
1515 pub const WVR_VREDRAW
: LRESULT
= 0x0200;
1516 pub const WVR_REDRAW
: LRESULT
= WVR_HREDRAW
| WVR_VREDRAW
;
1517 pub const WVR_VALIDRECTS
: LRESULT
= 0x0400;
1518 pub const MK_LBUTTON
: WPARAM
= 0x0001;
1519 pub const MK_RBUTTON
: WPARAM
= 0x0002;
1520 pub const MK_SHIFT
: WPARAM
= 0x0004;
1521 pub const MK_CONTROL
: WPARAM
= 0x0008;
1522 pub const MK_MBUTTON
: WPARAM
= 0x0010;
1523 pub const MK_XBUTTON1
: WPARAM
= 0x0020;
1524 pub const MK_XBUTTON2
: WPARAM
= 0x0040;
1525 pub const TME_HOVER
: DWORD
= 0x00000001;
1526 pub const TME_LEAVE
: DWORD
= 0x00000002;
1527 pub const TME_NONCLIENT
: DWORD
= 0x00000010;
1528 pub const TME_QUERY
: DWORD
= 0x40000000;
1529 pub const TME_CANCEL
: DWORD
= 0x80000000;
1530 pub const HOVER_DEFAULT
: DWORD
= 0xFFFFFFFF;
1531 STRUCT
!{struct TRACKMOUSEEVENT
{
1537 pub type LPTRACKMOUSEEVENT
= *mut TRACKMOUSEEVENT
;
1539 pub fn TrackMouseEvent(
1540 lpEventTrack
: LPTRACKMOUSEEVENT
,
1543 pub const WS_OVERLAPPED
: DWORD
= 0x00000000;
1544 pub const WS_POPUP
: DWORD
= 0x80000000;
1545 pub const WS_CHILD
: DWORD
= 0x40000000;
1546 pub const WS_MINIMIZE
: DWORD
= 0x20000000;
1547 pub const WS_VISIBLE
: DWORD
= 0x10000000;
1548 pub const WS_DISABLED
: DWORD
= 0x08000000;
1549 pub const WS_CLIPSIBLINGS
: DWORD
= 0x04000000;
1550 pub const WS_CLIPCHILDREN
: DWORD
= 0x02000000;
1551 pub const WS_MAXIMIZE
: DWORD
= 0x01000000;
1552 pub const WS_CAPTION
: DWORD
= 0x00C00000;
1553 pub const WS_BORDER
: DWORD
= 0x00800000;
1554 pub const WS_DLGFRAME
: DWORD
= 0x00400000;
1555 pub const WS_VSCROLL
: DWORD
= 0x00200000;
1556 pub const WS_HSCROLL
: DWORD
= 0x00100000;
1557 pub const WS_SYSMENU
: DWORD
= 0x00080000;
1558 pub const WS_THICKFRAME
: DWORD
= 0x00040000;
1559 pub const WS_GROUP
: DWORD
= 0x00020000;
1560 pub const WS_TABSTOP
: DWORD
= 0x00010000;
1561 pub const WS_MINIMIZEBOX
: DWORD
= 0x00020000;
1562 pub const WS_MAXIMIZEBOX
: DWORD
= 0x00010000;
1563 pub const WS_TILED
: DWORD
= WS_OVERLAPPED
;
1564 pub const WS_ICONIC
: DWORD
= WS_MINIMIZE
;
1565 pub const WS_SIZEBOX
: DWORD
= WS_THICKFRAME
;
1566 pub const WS_TILEDWINDOW
: DWORD
= WS_OVERLAPPEDWINDOW
;
1567 pub const WS_OVERLAPPEDWINDOW
: DWORD
= WS_OVERLAPPED
| WS_CAPTION
| WS_SYSMENU
| WS_THICKFRAME
1568 | WS_MINIMIZEBOX
| WS_MAXIMIZEBOX
;
1569 pub const WS_POPUPWINDOW
: DWORD
= WS_POPUP
| WS_BORDER
| WS_SYSMENU
;
1570 pub const WS_CHILDWINDOW
: DWORD
= WS_CHILD
;
1571 pub const WS_EX_DLGMODALFRAME
: DWORD
= 0x00000001;
1572 pub const WS_EX_NOPARENTNOTIFY
: DWORD
= 0x00000004;
1573 pub const WS_EX_TOPMOST
: DWORD
= 0x00000008;
1574 pub const WS_EX_ACCEPTFILES
: DWORD
= 0x00000010;
1575 pub const WS_EX_TRANSPARENT
: DWORD
= 0x00000020;
1576 pub const WS_EX_MDICHILD
: DWORD
= 0x00000040;
1577 pub const WS_EX_TOOLWINDOW
: DWORD
= 0x00000080;
1578 pub const WS_EX_WINDOWEDGE
: DWORD
= 0x00000100;
1579 pub const WS_EX_CLIENTEDGE
: DWORD
= 0x00000200;
1580 pub const WS_EX_CONTEXTHELP
: DWORD
= 0x00000400;
1581 pub const WS_EX_RIGHT
: DWORD
= 0x00001000;
1582 pub const WS_EX_LEFT
: DWORD
= 0x00000000;
1583 pub const WS_EX_RTLREADING
: DWORD
= 0x00002000;
1584 pub const WS_EX_LTRREADING
: DWORD
= 0x00000000;
1585 pub const WS_EX_LEFTSCROLLBAR
: DWORD
= 0x00004000;
1586 pub const WS_EX_RIGHTSCROLLBAR
: DWORD
= 0x00000000;
1587 pub const WS_EX_CONTROLPARENT
: DWORD
= 0x00010000;
1588 pub const WS_EX_STATICEDGE
: DWORD
= 0x00020000;
1589 pub const WS_EX_APPWINDOW
: DWORD
= 0x00040000;
1590 pub const WS_EX_OVERLAPPEDWINDOW
: DWORD
= WS_EX_WINDOWEDGE
| WS_EX_CLIENTEDGE
;
1591 pub const WS_EX_PALETTEWINDOW
: DWORD
= WS_EX_WINDOWEDGE
| WS_EX_TOOLWINDOW
| WS_EX_TOPMOST
;
1592 pub const WS_EX_LAYERED
: DWORD
= 0x00080000;
1593 pub const WS_EX_NOINHERITLAYOUT
: DWORD
= 0x00100000;
1594 pub const WS_EX_NOREDIRECTIONBITMAP
: DWORD
= 0x00200000;
1595 pub const WS_EX_LAYOUTRTL
: DWORD
= 0x00400000;
1596 pub const WS_EX_COMPOSITED
: DWORD
= 0x02000000;
1597 pub const WS_EX_NOACTIVATE
: DWORD
= 0x08000000;
1598 pub const CS_VREDRAW
: UINT
= 0x0001;
1599 pub const CS_HREDRAW
: UINT
= 0x0002;
1600 pub const CS_DBLCLKS
: UINT
= 0x0008;
1601 pub const CS_OWNDC
: UINT
= 0x0020;
1602 pub const CS_CLASSDC
: UINT
= 0x0040;
1603 pub const CS_PARENTDC
: UINT
= 0x0080;
1604 pub const CS_NOCLOSE
: UINT
= 0x0200;
1605 pub const CS_SAVEBITS
: UINT
= 0x0800;
1606 pub const CS_BYTEALIGNCLIENT
: UINT
= 0x1000;
1607 pub const CS_BYTEALIGNWINDOW
: UINT
= 0x2000;
1608 pub const CS_GLOBALCLASS
: UINT
= 0x4000;
1609 pub const CS_IME
: UINT
= 0x00010000;
1610 pub const CS_DROPSHADOW
: UINT
= 0x00020000;
1611 pub const PRF_CHECKVISIBLE
: UINT
= 0x00000001;
1612 pub const PRF_NONCLIENT
: UINT
= 0x00000002;
1613 pub const PRF_CLIENT
: UINT
= 0x00000004;
1614 pub const PRF_ERASEBKGND
: UINT
= 0x00000008;
1615 pub const PRF_CHILDREN
: UINT
= 0x00000010;
1616 pub const PRF_OWNED
: UINT
= 0x00000020;
1617 pub const BDR_RAISEDOUTER
: UINT
= 0x0001;
1618 pub const BDR_SUNKENOUTER
: UINT
= 0x0002;
1619 pub const BDR_RAISEDINNER
: UINT
= 0x0004;
1620 pub const BDR_SUNKENINNER
: UINT
= 0x0008;
1621 pub const BDR_OUTER
: UINT
= BDR_RAISEDOUTER
| BDR_SUNKENOUTER
;
1622 pub const BDR_INNER
: UINT
= BDR_RAISEDINNER
| BDR_SUNKENINNER
;
1623 pub const BDR_RAISED
: UINT
= BDR_RAISEDOUTER
| BDR_RAISEDINNER
;
1624 pub const BDR_SUNKEN
: UINT
= BDR_SUNKENOUTER
| BDR_SUNKENINNER
;
1625 pub const EDGE_RAISED
: UINT
= BDR_RAISEDOUTER
| BDR_RAISEDINNER
;
1626 pub const EDGE_SUNKEN
: UINT
= BDR_SUNKENOUTER
| BDR_SUNKENINNER
;
1627 pub const EDGE_ETCHED
: UINT
= BDR_SUNKENOUTER
| BDR_RAISEDINNER
;
1628 pub const EDGE_BUMP
: UINT
= BDR_RAISEDOUTER
| BDR_SUNKENINNER
;
1629 pub const BF_LEFT
: UINT
= 0x0001;
1630 pub const BF_TOP
: UINT
= 0x0002;
1631 pub const BF_RIGHT
: UINT
= 0x0004;
1632 pub const BF_BOTTOM
: UINT
= 0x0008;
1633 pub const BF_TOPLEFT
: UINT
= BF_TOP
| BF_LEFT
;
1634 pub const BF_TOPRIGHT
: UINT
= BF_TOP
| BF_RIGHT
;
1635 pub const BF_BOTTOMLEFT
: UINT
= BF_BOTTOM
| BF_LEFT
;
1636 pub const BF_BOTTOMRIGHT
: UINT
= BF_BOTTOM
| BF_RIGHT
;
1637 pub const BF_RECT
: UINT
= BF_LEFT
| BF_TOP
| BF_RIGHT
| BF_BOTTOM
;
1638 pub const BF_DIAGONAL
: UINT
= 0x0010;
1639 pub const BF_DIAGONAL_ENDTOPRIGHT
: UINT
= BF_DIAGONAL
| BF_TOP
| BF_RIGHT
;
1640 pub const BF_DIAGONAL_ENDTOPLEFT
: UINT
= BF_DIAGONAL
| BF_TOP
| BF_LEFT
;
1641 pub const BF_DIAGONAL_ENDBOTTOMLEFT
: UINT
= BF_DIAGONAL
| BF_BOTTOM
| BF_LEFT
;
1642 pub const BF_DIAGONAL_ENDBOTTOMRIGHT
: UINT
= BF_DIAGONAL
| BF_BOTTOM
| BF_RIGHT
;
1643 pub const BF_MIDDLE
: UINT
= 0x0800;
1644 pub const BF_SOFT
: UINT
= 0x1000;
1645 pub const BF_ADJUST
: UINT
= 0x2000;
1646 pub const BF_FLAT
: UINT
= 0x4000;
1647 pub const BF_MONO
: UINT
= 0x8000;
1656 pub const DFC_CAPTION
: UINT
= 1;
1657 pub const DFC_MENU
: UINT
= 2;
1658 pub const DFC_SCROLL
: UINT
= 3;
1659 pub const DFC_BUTTON
: UINT
= 4;
1660 pub const DFC_POPUPMENU
: UINT
= 5;
1661 pub const DFCS_CAPTIONCLOSE
: UINT
= 0x0000;
1662 pub const DFCS_CAPTIONMIN
: UINT
= 0x0001;
1663 pub const DFCS_CAPTIONMAX
: UINT
= 0x0002;
1664 pub const DFCS_CAPTIONRESTORE
: UINT
= 0x0003;
1665 pub const DFCS_CAPTIONHELP
: UINT
= 0x0004;
1666 pub const DFCS_MENUARROW
: UINT
= 0x0000;
1667 pub const DFCS_MENUCHECK
: UINT
= 0x0001;
1668 pub const DFCS_MENUBULLET
: UINT
= 0x0002;
1669 pub const DFCS_MENUARROWRIGHT
: UINT
= 0x0004;
1670 pub const DFCS_SCROLLUP
: UINT
= 0x0000;
1671 pub const DFCS_SCROLLDOWN
: UINT
= 0x0001;
1672 pub const DFCS_SCROLLLEFT
: UINT
= 0x0002;
1673 pub const DFCS_SCROLLRIGHT
: UINT
= 0x0003;
1674 pub const DFCS_SCROLLCOMBOBOX
: UINT
= 0x0005;
1675 pub const DFCS_SCROLLSIZEGRIP
: UINT
= 0x0008;
1676 pub const DFCS_SCROLLSIZEGRIPRIGHT
: UINT
= 0x0010;
1677 pub const DFCS_BUTTONCHECK
: UINT
= 0x0000;
1678 pub const DFCS_BUTTONRADIOIMAGE
: UINT
= 0x0001;
1679 pub const DFCS_BUTTONRADIOMASK
: UINT
= 0x0002;
1680 pub const DFCS_BUTTONRADIO
: UINT
= 0x0004;
1681 pub const DFCS_BUTTON3STATE
: UINT
= 0x0008;
1682 pub const DFCS_BUTTONPUSH
: UINT
= 0x0010;
1683 pub const DFCS_INACTIVE
: UINT
= 0x0100;
1684 pub const DFCS_PUSHED
: UINT
= 0x0200;
1685 pub const DFCS_CHECKED
: UINT
= 0x0400;
1686 pub const DFCS_TRANSPARENT
: UINT
= 0x0800;
1687 pub const DFCS_HOT
: UINT
= 0x1000;
1688 pub const DFCS_ADJUSTRECT
: UINT
= 0x2000;
1689 pub const DFCS_FLAT
: UINT
= 0x4000;
1690 pub const DFCS_MONO
: UINT
= 0x8000;
1692 pub fn DrawFrameControl(
1699 pub const DC_ACTIVE
: UINT
= 0x0001;
1700 pub const DC_SMALLCAP
: UINT
= 0x0002;
1701 pub const DC_ICON
: UINT
= 0x0004;
1702 pub const DC_TEXT
: UINT
= 0x0008;
1703 pub const DC_INBUTTON
: UINT
= 0x0010;
1704 pub const DC_GRADIENT
: UINT
= 0x0020;
1705 pub const DC_BUTTONS
: UINT
= 0x1000;
1710 lprect
: *const RECT
,
1714 pub const IDANI_OPEN
: c_int
= 1;
1715 pub const IDANI_CAPTION
: c_int
= 3;
1717 pub fn DrawAnimatedRects(
1720 lprcFrom
: *const RECT
,
1721 lprcTo
: *const RECT
,
1724 pub const CF_TEXT
: UINT
= 1;
1725 pub const CF_BITMAP
: UINT
= 2;
1726 pub const CF_METAFILEPICT
: UINT
= 3;
1727 pub const CF_SYLK
: UINT
= 4;
1728 pub const CF_DIF
: UINT
= 5;
1729 pub const CF_TIFF
: UINT
= 6;
1730 pub const CF_OEMTEXT
: UINT
= 7;
1731 pub const CF_DIB
: UINT
= 8;
1732 pub const CF_PALETTE
: UINT
= 9;
1733 pub const CF_PENDATA
: UINT
= 10;
1734 pub const CF_RIFF
: UINT
= 11;
1735 pub const CF_WAVE
: UINT
= 12;
1736 pub const CF_UNICODETEXT
: UINT
= 13;
1737 pub const CF_ENHMETAFILE
: UINT
= 14;
1738 pub const CF_HDROP
: UINT
= 15;
1739 pub const CF_LOCALE
: UINT
= 16;
1740 pub const CF_DIBV5
: UINT
= 17;
1741 pub const CF_MAX
: UINT
= 18;
1742 pub const CF_OWNERDISPLAY
: UINT
= 0x0080;
1743 pub const CF_DSPTEXT
: UINT
= 0x0081;
1744 pub const CF_DSPBITMAP
: UINT
= 0x0082;
1745 pub const CF_DSPMETAFILEPICT
: UINT
= 0x0083;
1746 pub const CF_DSPENHMETAFILE
: UINT
= 0x008E;
1747 pub const CF_PRIVATEFIRST
: UINT
= 0x0200;
1748 pub const CF_PRIVATELAST
: UINT
= 0x02FF;
1749 pub const CF_GDIOBJFIRST
: UINT
= 0x0300;
1750 pub const CF_GDIOBJLAST
: UINT
= 0x03FF;
1751 pub const FVIRTKEY
: BYTE
= TRUE
as u8;
1752 pub const FNOINVERT
: BYTE
= 0x02;
1753 pub const FSHIFT
: BYTE
= 0x04;
1754 pub const FCONTROL
: BYTE
= 0x08;
1755 pub const FALT
: BYTE
= 0x10;
1756 STRUCT
!{struct ACCEL
{
1761 pub type LPACCEL
= *mut ACCEL
;
1762 STRUCT
!{struct PAINTSTRUCT
{
1768 rgbReserved
: [BYTE
; 32],
1770 pub type PPAINTSTRUCT
= *mut PAINTSTRUCT
;
1771 pub type NPPAINTSTRUCT
= *mut PAINTSTRUCT
;
1772 pub type LPPAINTSTRUCT
= *mut PAINTSTRUCT
;
1773 STRUCT
!{struct CREATESTRUCTA
{
1774 lpCreateParams
: LPVOID
,
1775 hInstance
: HINSTANCE
,
1787 pub type LPCREATESTRUCTA
= *mut CREATESTRUCTA
;
1788 STRUCT
!{struct CREATESTRUCTW
{
1789 lpCreateParams
: LPVOID
,
1790 hInstance
: HINSTANCE
,
1802 pub type LPCREATESTRUCTW
= *mut CREATESTRUCTW
;
1803 STRUCT
!{struct WINDOWPLACEMENT
{
1807 ptMinPosition
: POINT
,
1808 ptMaxPosition
: POINT
,
1809 rcNormalPosition
: RECT
,
1811 pub type PWINDOWPLACEMENT
= *mut WINDOWPLACEMENT
;
1812 pub type LPWINDOWPLACEMENT
= *mut WINDOWPLACEMENT
;
1813 pub const WPF_SETMINPOSITION
: UINT
= 0x0001;
1814 pub const WPF_RESTORETOMAXIMIZED
: UINT
= 0x0002;
1815 pub const WPF_ASYNCWINDOWPLACEMENT
: UINT
= 0x0004;
1816 STRUCT
!{struct NMHDR
{
1821 pub type LPNMHDR
= *mut NMHDR
;
1822 STRUCT
!{struct STYLESTRUCT
{
1826 pub type LPSTYLESTRUCT
= *mut STYLESTRUCT
;
1827 pub const ODT_MENU
: UINT
= 1;
1828 pub const ODT_LISTBOX
: UINT
= 2;
1829 pub const ODT_COMBOBOX
: UINT
= 3;
1830 pub const ODT_BUTTON
: UINT
= 4;
1831 pub const ODT_STATIC
: UINT
= 5;
1832 pub const ODA_DRAWENTIRE
: UINT
= 0x0001;
1833 pub const ODA_SELECT
: UINT
= 0x0002;
1834 pub const ODA_FOCUS
: UINT
= 0x0004;
1835 pub const ODS_SELECTED
: UINT
= 0x0001;
1836 pub const ODS_GRAYED
: UINT
= 0x0002;
1837 pub const ODS_DISABLED
: UINT
= 0x0004;
1838 pub const ODS_CHECKED
: UINT
= 0x0008;
1839 pub const ODS_FOCUS
: UINT
= 0x0010;
1840 pub const ODS_DEFAULT
: UINT
= 0x0020;
1841 pub const ODS_COMBOBOXEDIT
: UINT
= 0x1000;
1842 pub const ODS_HOTLIGHT
: UINT
= 0x0040;
1843 pub const ODS_INACTIVE
: UINT
= 0x0080;
1844 pub const ODS_NOACCEL
: UINT
= 0x0100;
1845 pub const ODS_NOFOCUSRECT
: UINT
= 0x0200;
1846 STRUCT
!{struct MEASUREITEMSTRUCT
{
1852 itemData
: ULONG_PTR
,
1854 pub type PMEASUREITEMSTRUCT
= *mut MEASUREITEMSTRUCT
;
1855 pub type LPMEASUREITEMSTRUCT
= *mut MEASUREITEMSTRUCT
;
1856 STRUCT
!{struct DRAWITEMSTRUCT
{
1865 itemData
: ULONG_PTR
,
1867 pub type PDRAWITEMSTRUCT
= *mut DRAWITEMSTRUCT
;
1868 pub type LPDRAWITEMSTRUCT
= *mut DRAWITEMSTRUCT
;
1869 STRUCT
!{struct DELETEITEMSTRUCT
{
1874 itemData
: ULONG_PTR
,
1876 pub type PDELETEITEMSTRUCT
= *mut DELETEITEMSTRUCT
;
1877 pub type LPDELETEITEMSTRUCT
= *mut DELETEITEMSTRUCT
;
1878 STRUCT
!{struct COMPAREITEMSTRUCT
{
1883 itemData1
: ULONG_PTR
,
1885 itemData2
: ULONG_PTR
,
1888 pub type PCOMPAREITEMSTRUCT
= *mut COMPAREITEMSTRUCT
;
1889 pub type LPCOMPAREITEMSTRUCT
= *mut COMPAREITEMSTRUCT
;
1894 wMsgFilterMin
: UINT
,
1895 wMsgFilterMax
: UINT
,
1900 wMsgFilterMin
: UINT
,
1901 wMsgFilterMax
: UINT
,
1903 pub fn TranslateMessage(
1906 pub fn DispatchMessageA(
1909 pub fn DispatchMessageW(
1912 pub fn SetMessageQueue(
1913 cMessagesMax
: c_int
,
1915 pub fn PeekMessageA(
1918 wMsgFilterMin
: UINT
,
1919 wMsgFilterMax
: UINT
,
1922 pub fn PeekMessageW(
1925 wMsgFilterMin
: UINT
,
1926 wMsgFilterMax
: UINT
,
1930 pub const PM_NOREMOVE
: UINT
= 0x0000;
1931 pub const PM_REMOVE
: UINT
= 0x0001;
1932 pub const PM_NOYIELD
: UINT
= 0x0002;
1933 pub const PM_QS_INPUT
: UINT
= QS_INPUT
<< 16;
1934 pub const PM_QS_POSTMESSAGE
: UINT
= (QS_POSTMESSAGE
| QS_HOTKEY
| QS_TIMER
) << 16;
1935 pub const PM_QS_PAINT
: UINT
= QS_PAINT
<< 16;
1936 pub const PM_QS_SENDMESSAGE
: UINT
= QS_SENDMESSAGE
<< 16;
1938 pub fn RegisterHotKey(
1944 pub fn UnregisterHotKey(
1949 pub const MOD_ALT
: LPARAM
= 0x0001;
1950 pub const MOD_CONTROL
: LPARAM
= 0x0002;
1951 pub const MOD_SHIFT
: LPARAM
= 0x0004;
1952 pub const MOD_WIN
: LPARAM
= 0x0008;
1953 pub const MOD_NOREPEAT
: LPARAM
= 0x4000;
1954 pub const IDHOT_SNAPWINDOW
: WPARAM
= -1isize
as usize;
1955 pub const IDHOT_SNAPDESKTOP
: WPARAM
= -2isize
as usize;
1956 pub const ENDSESSION_CLOSEAPP
: UINT
= 0x00000001;
1957 pub const ENDSESSION_CRITICAL
: UINT
= 0x40000000;
1958 pub const ENDSESSION_LOGOFF
: UINT
= 0x80000000;
1959 pub const EWX_LOGOFF
: UINT
= 0x00000000;
1960 pub const EWX_SHUTDOWN
: UINT
= 0x00000001;
1961 pub const EWX_REBOOT
: UINT
= 0x00000002;
1962 pub const EWX_FORCE
: UINT
= 0x00000004;
1963 pub const EWX_POWEROFF
: UINT
= 0x00000008;
1964 pub const EWX_FORCEIFHUNG
: UINT
= 0x00000010;
1965 pub const EWX_QUICKRESOLVE
: UINT
= 0x00000020;
1966 pub const EWX_RESTARTAPPS
: UINT
= 0x00000040;
1967 pub const EWX_HYBRID_SHUTDOWN
: UINT
= 0x00400000;
1968 pub const EWX_BOOTOPTIONS
: UINT
= 0x01000000;
1971 pub fn ExitWindowsEx(
1975 pub fn SwapMouseButton(
1978 pub fn GetMessagePos() -> DWORD
;
1979 pub fn GetMessageTime() -> LONG
;
1980 pub fn GetMessageExtraInfo() -> LPARAM
;
1981 pub fn GetUnpredictedMessagePos() -> DWORD
;
1982 pub fn IsWow64Message() -> BOOL
;
1983 pub fn SetMessageExtraInfo(
1986 pub fn SendMessageA(
1992 pub fn SendMessageW(
1998 pub fn SendMessageTimeoutA(
2005 lpdwResult
: PDWORD_PTR
,
2007 pub fn SendMessageTimeoutW(
2014 lpdwResult
: PDWORD_PTR
,
2016 pub fn SendNotifyMessageA(
2022 pub fn SendNotifyMessageW(
2028 pub fn SendMessageCallbackA(
2033 lpResultCallBack
: SENDASYNCPROC
,
2036 pub fn SendMessageCallbackW(
2041 lpResultCallBack
: SENDASYNCPROC
,
2045 STRUCT
!{struct BSMINFO
{
2051 pub type PBSMINFO
= *mut BSMINFO
;
2053 pub fn BroadcastSystemMessageExA(
2061 pub fn BroadcastSystemMessageExW(
2069 pub fn BroadcastSystemMessageA(
2076 pub fn BroadcastSystemMessageW(
2084 pub const BSM_ALLCOMPONENTS
: DWORD
= 0x00000000;
2085 pub const BSM_VXDS
: DWORD
= 0x00000001;
2086 pub const BSM_NETDRIVER
: DWORD
= 0x00000002;
2087 pub const BSM_INSTALLABLEDRIVERS
: DWORD
= 0x00000004;
2088 pub const BSM_APPLICATIONS
: DWORD
= 0x00000008;
2089 pub const BSM_ALLDESKTOPS
: DWORD
= 0x00000010;
2090 pub const BSF_QUERY
: DWORD
= 0x00000001;
2091 pub const BSF_IGNORECURRENTTASK
: DWORD
= 0x00000002;
2092 pub const BSF_FLUSHDISK
: DWORD
= 0x00000004;
2093 pub const BSF_NOHANG
: DWORD
= 0x00000008;
2094 pub const BSF_POSTMESSAGE
: DWORD
= 0x00000010;
2095 pub const BSF_FORCEIFHUNG
: DWORD
= 0x00000020;
2096 pub const BSF_NOTIMEOUTIFNOTHUNG
: DWORD
= 0x00000040;
2097 pub const BSF_ALLOWSFW
: DWORD
= 0x00000080;
2098 pub const BSF_SENDNOTIFYMESSAGE
: DWORD
= 0x00000100;
2099 pub const BSF_RETURNHDESK
: DWORD
= 0x00000200;
2100 pub const BSF_LUID
: DWORD
= 0x00000400;
2101 pub const BROADCAST_QUERY_DENY
: DWORD
= 0x424D5144;
2102 pub type HDEVNOTIFY
= PVOID
;
2103 pub type PHDEVNOTIFY
= *mut HDEVNOTIFY
;
2104 pub const DEVICE_NOTIFY_WINDOW_HANDLE
: DWORD
= 0x00000000;
2105 pub const DEVICE_NOTIFY_SERVICE_HANDLE
: DWORD
= 0x00000001;
2106 pub const DEVICE_NOTIFY_ALL_INTERFACE_CLASSES
: DWORD
= 0x00000004;
2108 pub fn RegisterDeviceNotificationA(
2110 notificationFilter
: LPVOID
,
2113 pub fn RegisterDeviceNotificationW(
2115 notificationFilter
: LPVOID
,
2118 pub fn UnregisterDeviceNotification(
2122 pub type HPOWERNOTIFY
= PVOID
;
2123 pub type PHPOWERNOTIFY
= *mut HPOWERNOTIFY
;
2125 pub fn RegisterPowerSettingNotification(
2127 PowerSettingGuid
: LPCGUID
,
2130 pub fn UnregisterPowerSettingNotification(
2131 Handle
: HPOWERNOTIFY
,
2133 pub fn RegisterSuspendResumeNotification(
2137 pub fn UnregisterSuspendResumeNotification(
2138 Handle
: HPOWERNOTIFY
,
2140 pub fn PostMessageA(
2146 pub fn PostMessageW(
2152 pub fn PostThreadMessageA(
2158 pub fn PostThreadMessageW(
2167 pub const HWND_BROADCAST
: HWND
= 0xffff as HWND
;
2168 pub const HWND_MESSAGE
: HWND
= -3isize
as HWND
;
2170 pub fn AttachThreadInput(
2175 pub fn ReplyMessage(
2178 pub fn WaitMessage() -> BOOL
;
2179 pub fn WaitForInputIdle(
2181 dwMilliseconds
: DWORD
,
2183 pub fn DefWindowProcA(
2189 pub fn DefWindowProcW(
2195 pub fn PostQuitMessage(
2198 pub fn CallWindowProcA(
2199 lpPrevWndFunc
: WNDPROC
,
2205 pub fn CallWindowProcW(
2206 lpPrevWndFunc
: WNDPROC
,
2212 pub fn InSendMessage() -> BOOL
;
2213 pub fn InSendMessageEx(
2217 pub const ISMEX_NOSEND
: DWORD
= 0x00000000;
2218 pub const ISMEX_SEND
: DWORD
= 0x00000001;
2219 pub const ISMEX_NOTIFY
: DWORD
= 0x00000002;
2220 pub const ISMEX_CALLBACK
: DWORD
= 0x00000004;
2221 pub const ISMEX_REPLIED
: DWORD
= 0x00000008;
2223 pub fn GetDoubleClickTime() -> UINT
;
2224 pub fn SetDoubleClickTime(
2227 pub fn RegisterClassA(
2228 lpWndClass
: *const WNDCLASSA
,
2230 pub fn RegisterClassW(
2231 lpWndClass
: *const WNDCLASSW
,
2233 pub fn UnregisterClassA(
2234 lpClassName
: LPCSTR
,
2235 hInstance
: HINSTANCE
,
2237 pub fn UnregisterClassW(
2238 lpClassName
: LPCWSTR
,
2239 hInstance
: HINSTANCE
,
2241 pub fn GetClassInfoA(
2242 hInstance
: HINSTANCE
,
2243 lpClassName
: LPCSTR
,
2244 lpWndClass
: LPWNDCLASSA
,
2246 pub fn GetClassInfoW(
2247 hInstance
: HINSTANCE
,
2248 lpClassName
: LPCWSTR
,
2249 lpWndClass
: LPWNDCLASSW
,
2251 pub fn RegisterClassExA(
2252 lpWndClass
: *const WNDCLASSEXA
,
2254 pub fn RegisterClassExW(
2255 lpWndClass
: *const WNDCLASSEXW
,
2257 pub fn GetClassInfoExA(
2260 lpwcx
: LPWNDCLASSEXA
,
2262 pub fn GetClassInfoExW(
2265 lpwcx
: LPWNDCLASSEXW
,
2268 pub const CW_USEDEFAULT
: c_int
= 0x80000000;
2269 pub const HWND_DESKTOP
: HWND
= 0 as HWND
;
2270 FN
!{stdcall
PREGISTERCLASSNAMEW(
2274 pub fn CreateWindowExA(
2276 lpClassName
: LPCSTR
,
2277 lpWindowName
: LPCSTR
,
2285 hInstance
: HINSTANCE
,
2288 pub fn CreateWindowExW(
2290 lpClassName
: LPCWSTR
,
2291 lpWindowName
: LPCWSTR
,
2299 hInstance
: HINSTANCE
,
2316 pub fn DestroyWindow(
2323 pub fn AnimateWindow(
2328 pub fn UpdateLayeredWindow(
2336 pblend
: *mut BLENDFUNCTION
,
2340 STRUCT
!{struct UPDATELAYEREDWINDOWINFO
{
2343 pptDst
: *const POINT
,
2346 pptSrc
: *const POINT
,
2348 pblend
: *const BLENDFUNCTION
,
2350 prcDirty
: *const RECT
,
2352 pub type PUPDATELAYEREDWINDOWINFO
= *mut UPDATELAYEREDWINDOWINFO
;
2354 pub fn UpdateLayeredWindowIndirect(
2356 pULWInfo
: *mut UPDATELAYEREDWINDOWINFO
,
2358 pub fn GetLayeredWindowAttributes(
2360 pcrKey
: *mut COLORREF
,
2362 pdwFlags
: *mut DWORD
,
2365 pub const PW_CLIENTONLY
: DWORD
= 0x00000001;
2366 pub const PW_RENDERFULLCONTENT
: DWORD
= 0x00000002;
2373 pub fn SetLayeredWindowAttributes(
2380 pub const LWA_COLORKEY
: DWORD
= 0x00000001;
2381 pub const LWA_ALPHA
: DWORD
= 0x00000002;
2382 pub const ULW_COLORKEY
: DWORD
= 0x00000001;
2383 pub const ULW_ALPHA
: DWORD
= 0x00000002;
2384 pub const ULW_OPAQUE
: DWORD
= 0x00000004;
2385 pub const ULW_EX_NORESIZE
: DWORD
= 0x00000008;
2387 pub fn ShowWindowAsync(
2396 STRUCT
!{struct FLASHWINFO
{
2403 pub type PFLASHWINFO
= *mut FLASHWINFO
;
2405 pub fn FlashWindowEx(
2409 pub const FLASHW_STOP
: DWORD
= 0;
2410 pub const FLASHW_CAPTION
: DWORD
= 0x00000001;
2411 pub const FLASHW_TRAY
: DWORD
= 0x00000002;
2412 pub const FLASHW_ALL
: DWORD
= FLASHW_CAPTION
| FLASHW_TRAY
;
2413 pub const FLASHW_TIMER
: DWORD
= 0x00000004;
2414 pub const FLASHW_TIMERNOFG
: DWORD
= 0x0000000C;
2416 pub fn ShowOwnedPopups(
2434 pub fn SetWindowPos(
2436 hWndInsertAfter
: HWND
,
2443 pub fn GetWindowPlacement(
2445 lpwndpl
: *mut WINDOWPLACEMENT
,
2447 pub fn SetWindowPlacement(
2449 lpwndpl
: *const WINDOWPLACEMENT
,
2452 pub const WDA_NONE
: DWORD
= 0x00000000;
2453 pub const WDA_MONITOR
: DWORD
= 0x00000001;
2455 pub fn GetWindowDisplayAffinity(
2457 pdwAffinity
: *mut DWORD
,
2459 pub fn SetWindowDisplayAffinity(
2463 pub fn BeginDeferWindowPos(
2466 pub fn DeferWindowPos(
2469 hWndInserAfter
: HWND
,
2476 pub fn EndDeferWindowPos(
2479 pub fn IsWindowVisible(
2485 pub fn AnyPopup() -> BOOL
;
2486 pub fn BringWindowToTop(
2493 pub const SWP_NOSIZE
: UINT
= 0x0001;
2494 pub const SWP_NOMOVE
: UINT
= 0x0002;
2495 pub const SWP_NOZORDER
: UINT
= 0x0004;
2496 pub const SWP_NOREDRAW
: UINT
= 0x0008;
2497 pub const SWP_NOACTIVATE
: UINT
= 0x0010;
2498 pub const SWP_FRAMECHANGED
: UINT
= 0x0020;
2499 pub const SWP_SHOWWINDOW
: UINT
= 0x0040;
2500 pub const SWP_HIDEWINDOW
: UINT
= 0x0080;
2501 pub const SWP_NOCOPYBITS
: UINT
= 0x0100;
2502 pub const SWP_NOOWNERZORDER
: UINT
= 0x0200;
2503 pub const SWP_NOSENDCHANGING
: UINT
= 0x0400;
2504 pub const SWP_DRAWFRAME
: UINT
= SWP_FRAMECHANGED
;
2505 pub const SWP_NOREPOSITION
: UINT
= SWP_NOOWNERZORDER
;
2506 pub const SWP_DEFERERASE
: UINT
= 0x2000;
2507 pub const SWP_ASYNCWINDOWPOS
: UINT
= 0x4000;
2508 pub const HWND_TOP
: HWND
= 0 as HWND
;
2509 pub const HWND_BOTTOM
: HWND
= 1 as HWND
;
2510 pub const HWND_TOPMOST
: HWND
= -1isize
as HWND
;
2511 pub const HWND_NOTOPMOST
: HWND
= -2isize
as HWND
;
2513 STRUCT
!{#[repr(packed)] struct DLGTEMPLATE {
2515 dwExtendedStyle
: DWORD
,
2522 pub type LPDLGTEMPLATEA
= *mut DLGTEMPLATE
;
2523 pub type LPDLGTEMPLATEW
= *mut DLGTEMPLATE
;
2524 pub type LPCDLGTEMPLATEA
= *const DLGTEMPLATE
;
2525 pub type LPCDLGTEMPLATEW
= *const DLGTEMPLATE
;
2527 STRUCT
!{#[repr(packed)] struct DLGITEMTEMPLATE {
2529 dwExtendedStyle
: DWORD
,
2536 pub type PDLGITEMTEMPLATEA
= *mut DLGITEMTEMPLATE
;
2537 pub type PDLGITEMTEMPLATEW
= *mut DLGITEMTEMPLATE
;
2538 pub type LPDLGITEMTEMPLATEA
= *mut DLGITEMTEMPLATE
;
2539 pub type LPDLGITEMTEMPLATEW
= *mut DLGITEMTEMPLATE
;
2541 pub fn CreateDialogParamA(
2542 hInstance
: HINSTANCE
,
2543 lpTemplateName
: LPCSTR
,
2545 lpDialogFunc
: DLGPROC
,
2546 dwInitParam
: LPARAM
,
2548 pub fn CreateDialogParamW(
2549 hInstance
: HINSTANCE
,
2550 lpTemplateName
: LPCWSTR
,
2552 lpDialogFunc
: DLGPROC
,
2553 dwInitParam
: LPARAM
,
2555 pub fn CreateDialogIndirectParamA(
2556 hInstance
: HINSTANCE
,
2557 lpTemplate
: LPCDLGTEMPLATEA
,
2559 lpDialogFunc
: DLGPROC
,
2560 dwInitParam
: LPARAM
,
2562 pub fn CreateDialogIndirectParamW(
2563 hInstance
: HINSTANCE
,
2564 lpTemplate
: LPCDLGTEMPLATEW
,
2566 lpDialogFunc
: DLGPROC
,
2567 dwInitParam
: LPARAM
,
2572 // CreateDialogIndirectA
2573 // CreateDialogIndirectW
2575 pub fn DialogBoxParamA(
2576 hInstance
: HINSTANCE
,
2577 lpTemplateName
: LPCSTR
,
2579 lpDialogFunc
: DLGPROC
,
2580 dwInitParam
: LPARAM
,
2582 pub fn DialogBoxParamW(
2583 hInstance
: HINSTANCE
,
2584 lpTemplateName
: LPCWSTR
,
2586 lpDialogFunc
: DLGPROC
,
2587 dwInitParam
: LPARAM
,
2589 pub fn DialogBoxIndirectParamA(
2590 hInstance
: HINSTANCE
,
2591 hDialogTemplate
: LPCDLGTEMPLATEA
,
2593 lpDialogFunc
: DLGPROC
,
2594 dwInitParam
: LPARAM
,
2596 pub fn DialogBoxIndirectParamW(
2597 hInstance
: HINSTANCE
,
2598 hDialogTemplate
: LPCDLGTEMPLATEW
,
2600 lpDialogFunc
: DLGPROC
,
2601 dwInitParam
: LPARAM
,
2606 // DialogBoxIndirectA
2607 // DialogBoxIndirectW
2617 pub fn SetDlgItemInt(
2623 pub fn GetDlgItemInt(
2626 lpTranslated
: *mut BOOL
,
2629 pub fn SetDlgItemTextA(
2634 pub fn SetDlgItemTextW(
2639 pub fn GetDlgItemTextA(
2645 pub fn GetDlgItemTextW(
2651 pub fn CheckDlgButton(
2656 pub fn CheckRadioButton(
2658 nIDFirstButton
: c_int
,
2659 nIDLasatButton
: c_int
,
2660 nIDCheckButton
: c_int
,
2662 pub fn IsDlgButtonChecked(
2666 pub fn SendDlgItemMessageA(
2673 pub fn SendDlgItemMessageW(
2680 pub fn GetNextDlgGroupItem(
2685 pub fn GetNextDlgTabItem(
2690 pub fn GetDlgCtrlID(
2693 pub fn GetDialogBaseUnits() -> LONG
;
2707 ENUM
!{enum DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
{
2708 DCDC_DEFAULT
= 0x0000,
2709 DCDC_DISABLE_FONT_UPDATE
= 0x0001,
2710 DCDC_DISABLE_RELAYOUT
= 0x0002,
2713 pub fn SetDialogControlDpiChangeBehavior(
2715 mask
: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
,
2716 values
: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
,
2718 pub fn GetDialogControlDpiChangeBehavior(
2720 ) -> DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
;
2722 ENUM
!{enum DIALOG_DPI_CHANGE_BEHAVIORS
{
2723 DDC_DEFAULT
= 0x0000,
2724 DDC_DISABLE_ALL
= 0x0001,
2725 DDC_DISABLE_RESIZE
= 0x0002,
2726 DDC_DISABLE_CONTROL_RELAYOUT
= 0x0004,
2729 pub fn SetDialogDpiChangeBehavior(
2731 mask
: DIALOG_DPI_CHANGE_BEHAVIORS
,
2732 values
: DIALOG_DPI_CHANGE_BEHAVIORS
,
2734 pub fn GetDialogDpiChangeBehavior(
2736 ) -> DIALOG_DPI_CHANGE_BEHAVIORS
;
2737 pub fn CallMsgFilterA(
2741 pub fn CallMsgFilterW(
2745 pub fn OpenClipboard(
2748 pub fn CloseClipboard() -> BOOL
;
2749 pub fn GetClipboardSequenceNumber() -> DWORD
;
2750 pub fn GetClipboardOwner() -> HWND
;
2751 pub fn SetClipboardViewer(
2752 hWndNewViewer
: HWND
,
2754 pub fn GetClipboardViewer() -> HWND
;
2755 pub fn ChangeClipboardChain(
2759 pub fn SetClipboardData(
2763 pub fn GetClipboardData(
2766 pub fn RegisterClipboardFormatA(
2769 pub fn RegisterClipboardFormatW(
2770 lpszFormat
: LPCWSTR
,
2772 pub fn CountClipboardFormats() -> c_int
;
2773 pub fn EnumClipboardFormats(
2776 pub fn GetClipboardFormatNameA(
2778 lpszFormatName
: LPSTR
,
2781 pub fn GetClipboardFormatNameW(
2783 lpszFormatName
: LPWSTR
,
2786 pub fn EmptyClipboard() -> BOOL
;
2787 pub fn IsClipboardFormatAvailable(
2790 pub fn GetPriorityClipboardFormat(
2791 paFormatPriorityList
: *mut UINT
,
2794 pub fn GetOpenClipboardWindow() -> HWND
;
2795 pub fn AddClipboardFormatListener(
2798 pub fn RemoveClipboardFormatListener(
2801 pub fn GetUpdatedClipboardFormats(
2804 pcFormatsOUT
: PUINT
,
2822 pub fn CharToOemBuffA(
2825 cchDstLength
: DWORD
,
2827 pub fn CharToOemBuffW(
2830 cchDstLength
: DWORD
,
2832 pub fn OemToCharBuffA(
2835 cchDstLength
: DWORD
,
2837 pub fn OemToCharBuffW(
2840 cchDstLength
: DWORD
,
2848 pub fn CharUpperBuffA(
2852 pub fn CharUpperBuffW(
2862 pub fn CharLowerBuffA(
2866 pub fn CharLowerBuffW(
2878 lpszCurrent
: LPCSTR
,
2882 lpszCurrent
: LPCWSTR
,
2886 lpCurrentChar
: LPSTR
,
2892 lpCurrentChar
: LPCSTR
,
2907 pub fn IsCharAlphaA(
2910 pub fn IsCharAlphaW(
2913 pub fn IsCharAlphaNumericA(
2916 pub fn IsCharAlphaNumericW(
2919 pub fn IsCharUpperA(
2922 pub fn IsCharUpperW(
2925 pub fn IsCharLowerA(
2928 pub fn IsCharLowerW(
2934 pub fn GetActiveWindow() -> HWND
;
2935 pub fn GetFocus() -> HWND
;
2936 pub fn GetKBCodePage() -> UINT
;
2940 pub fn GetAsyncKeyState(
2943 pub fn GetKeyboardState(
2946 pub fn SetKeyboardState(
2949 pub fn GetKeyNameTextA(
2954 pub fn GetKeyNameTextW(
2959 pub fn GetKeyboardType(
2965 lpKeyState
: *const BYTE
,
2972 lpKeyState
: *const BYTE
,
2980 lpKeyState
: *const BYTE
,
2994 pub fn VkKeyScanExA(
2998 pub fn VkKeyScanExW(
3003 pub const KEYEVENTF_EXTENDEDKEY
: DWORD
= 0x0001;
3004 pub const KEYEVENTF_KEYUP
: DWORD
= 0x0002;
3005 pub const KEYEVENTF_UNICODE
: DWORD
= 0x0004;
3006 pub const KEYEVENTF_SCANCODE
: DWORD
= 0x0008;
3012 dwExtraInfo
: ULONG_PTR
,
3015 pub const MOUSEEVENTF_MOVE
: DWORD
= 0x0001;
3016 pub const MOUSEEVENTF_LEFTDOWN
: DWORD
= 0x0002;
3017 pub const MOUSEEVENTF_LEFTUP
: DWORD
= 0x0004;
3018 pub const MOUSEEVENTF_RIGHTDOWN
: DWORD
= 0x0008;
3019 pub const MOUSEEVENTF_RIGHTUP
: DWORD
= 0x0010;
3020 pub const MOUSEEVENTF_MIDDLEDOWN
: DWORD
= 0x0020;
3021 pub const MOUSEEVENTF_MIDDLEUP
: DWORD
= 0x0040;
3022 pub const MOUSEEVENTF_XDOWN
: DWORD
= 0x0080;
3023 pub const MOUSEEVENTF_XUP
: DWORD
= 0x0100;
3024 pub const MOUSEEVENTF_WHEEL
: DWORD
= 0x0800;
3025 pub const MOUSEEVENTF_HWHEEL
: DWORD
= 0x01000;
3026 pub const MOUSEEVENTF_MOVE_NOCOALESCE
: DWORD
= 0x2000;
3027 pub const MOUSEEVENTF_VIRTUALDESK
: DWORD
= 0x4000;
3028 pub const MOUSEEVENTF_ABSOLUTE
: DWORD
= 0x8000;
3035 dwExtraInfo
: ULONG_PTR
,
3038 STRUCT
!{struct MOUSEINPUT
{
3044 dwExtraInfo
: ULONG_PTR
,
3046 pub type PMOUSEINPUT
= *mut MOUSEINPUT
;
3047 pub type LPMOUSEINPUT
= *mut MOUSEINPUT
;
3048 STRUCT
!{struct KEYBDINPUT
{
3053 dwExtraInfo
: ULONG_PTR
,
3055 pub type PKEYBDINPUT
= *mut KEYBDINPUT
;
3056 pub type LPKEYBDINPUT
= *mut KEYBDINPUT
;
3057 STRUCT
!{struct HARDWAREINPUT
{
3062 pub type PHARDWAREINPUT
= *mut HARDWAREINPUT
;
3063 pub type LPHARDWAREINPUT
= *mut HARDWAREINPUT
;
3064 pub const INPUT_MOUSE
: DWORD
= 0;
3065 pub const INPUT_KEYBOARD
: DWORD
= 1;
3066 pub const INPUT_HARDWARE
: DWORD
= 2;
3067 UNION
!{union INPUT_u
{
3069 mi mi_mut
: MOUSEINPUT
,
3070 ki ki_mut
: KEYBDINPUT
,
3071 hi hi_mut
: HARDWAREINPUT
,
3073 STRUCT
!{struct INPUT
{
3077 pub type PINPUT
= *mut INPUT
;
3078 pub type LPINPUT
= *mut INPUT
;
3086 DECLARE_HANDLE
!{HTOUCHINPUT, HTOUCHINPUT__}
3087 STRUCT
!{struct TOUCHINPUT
{
3095 dwExtraInfo
: ULONG_PTR
,
3099 pub type PTOUCHINPUT
= *mut TOUCHINPUT
;
3100 pub type PCTOUCHINPUT
= *const TOUCHINPUT
;
3101 // TOUCH_COORD_TO_PIXEL
3102 pub const TOUCHEVENTF_MOVE
: DWORD
= 0x0001;
3103 pub const TOUCHEVENTF_DOWN
: DWORD
= 0x0002;
3104 pub const TOUCHEVENTF_UP
: DWORD
= 0x0004;
3105 pub const TOUCHEVENTF_INRANGE
: DWORD
= 0x0008;
3106 pub const TOUCHEVENTF_PRIMARY
: DWORD
= 0x0010;
3107 pub const TOUCHEVENTF_NOCOALESCE
: DWORD
= 0x0020;
3108 pub const TOUCHEVENTF_PEN
: DWORD
= 0x0040;
3109 pub const TOUCHEVENTF_PALM
: DWORD
= 0x0080;
3110 pub const TOUCHINPUTMASKF_TIMEFROMSYSTEM
: DWORD
= 0x0001;
3111 pub const TOUCHINPUTMASKF_EXTRAINFO
: DWORD
= 0x0002;
3112 pub const TOUCHINPUTMASKF_CONTACTAREA
: DWORD
= 0x0004;
3114 pub fn GetTouchInputInfo(
3115 hTouchInput
: HTOUCHINPUT
,
3117 pInputs
: PTOUCHINPUT
,
3120 pub fn CloseTouchInputHandle(
3121 hTouchInput
: HTOUCHINPUT
,
3124 pub const TWF_FINETOUCH
: DWORD
= 0x00000001;
3125 pub const TWF_WANTPALM
: DWORD
= 0x00000002;
3127 pub fn RegisterTouchWindow(
3131 pub fn UnregisterTouchWindow(
3134 pub fn IsTouchWindow(
3139 ENUM
!{enum POINTER_INPUT_TYPE
{
3140 PT_POINTER
= 0x00000001,
3141 PT_TOUCH
= 0x00000002,
3142 PT_PEN
= 0x00000003,
3143 PT_MOUSE
= 0x00000004,
3144 PT_TOUCHPAD
= 0x00000005,
3146 ENUM
!{enum POINTER_FLAGS
{
3147 POINTER_FLAG_NONE
= 0x00000000,
3148 POINTER_FLAG_NEW
= 0x00000001,
3149 POINTER_FLAG_INRANGE
= 0x00000002,
3150 POINTER_FLAG_INCONTACT
= 0x00000004,
3151 POINTER_FLAG_FIRSTBUTTON
= 0x00000010,
3152 POINTER_FLAG_SECONDBUTTON
= 0x00000020,
3153 POINTER_FLAG_THIRDBUTTON
= 0x00000040,
3154 POINTER_FLAG_FOURTHBUTTON
= 0x00000080,
3155 POINTER_FLAG_FIFTHBUTTON
= 0x00000100,
3156 POINTER_FLAG_PRIMARY
= 0x00002000,
3157 POINTER_FLAG_CONFIDENCE
= 0x00004000,
3158 POINTER_FLAG_CANCELED
= 0x00008000,
3159 POINTER_FLAG_DOWN
= 0x00010000,
3160 POINTER_FLAG_UPDATE
= 0x00020000,
3161 POINTER_FLAG_UP
= 0x00040000,
3162 POINTER_FLAG_WHEEL
= 0x00080000,
3163 POINTER_FLAG_HWHEEL
= 0x00100000,
3164 POINTER_FLAG_CAPTURECHANGED
= 0x00200000,
3165 POINTER_FLAG_HASTRANSFORM
= 0x00400000,
3167 pub const POINTER_MOD_SHIFT
: DWORD
= 0x0004;
3168 pub const POINTER_MOD_CTRL
: DWORD
= 0x0008;
3169 ENUM
!{enum POINTER_BUTTON_CHANGE_TYPE
{
3170 POINTER_CHANGE_NONE
,
3171 POINTER_CHANGE_FIRSTBUTTON_DOWN
,
3172 POINTER_CHANGE_FIRSTBUTTON_UP
,
3173 POINTER_CHANGE_SECONDBUTTON_DOWN
,
3174 POINTER_CHANGE_SECONDBUTTON_UP
,
3175 POINTER_CHANGE_THIRDBUTTON_DOWN
,
3176 POINTER_CHANGE_THIRDBUTTON_UP
,
3177 POINTER_CHANGE_FOURTHBUTTON_DOWN
,
3178 POINTER_CHANGE_FOURTHBUTTON_UP
,
3179 POINTER_CHANGE_FIFTHBUTTON_DOWN
,
3180 POINTER_CHANGE_FIFTHBUTTON_UP
,
3182 STRUCT
!{struct POINTER_INFO
{
3183 pointerType
: POINTER_INPUT_TYPE
,
3186 pointerFlags
: POINTER_FLAGS
,
3187 sourceDevice
: HANDLE
,
3189 ptPixelLocation
: POINT
,
3190 ptHimetricLocation
: POINT
,
3191 ptPixelLocationRaw
: POINT
,
3192 ptHimetricLocationRaw
: POINT
,
3194 historyCount
: UINT32
,
3197 PerformanceCount
: UINT64
,
3198 ButtonChangeType
: POINTER_BUTTON_CHANGE_TYPE
,
3200 ENUM
!{enum TOUCH_FLAGS
{
3201 TOUCH_FLAG_NONE
= 0x00000000,
3203 ENUM
!{enum TOUCH_MASK
{
3204 TOUCH_MASK_NONE
= 0x00000000,
3205 TOUCH_MASK_CONTACTAREA
= 0x00000001,
3206 TOUCH_MASK_ORIENTATION
= 0x00000002,
3207 TOUCH_MASK_PRESSURE
= 0x00000004,
3209 STRUCT
!{struct POINTER_TOUCH_INFO
{
3210 pointerInfo
: POINTER_INFO
,
3211 touchFlags
: TOUCH_FLAGS
,
3212 touchMask
: TOUCH_MASK
,
3215 orientation
: UINT32
,
3218 ENUM
!{enum PEN_FLAGS
{
3219 PEN_FLAG_NONE
= 0x00000000,
3220 PEN_FLAG_BARREL
= 0x00000001,
3221 PEN_FLAG_INVERTED
= 0x00000002,
3222 PEN_FLAG_ERASER
= 0x00000004,
3224 ENUM
!{enum PEN_MASK
{
3225 PEN_MASK_NONE
= 0x00000000,
3226 PEN_MASK_PRESSURE
= 0x00000001,
3227 PEN_MASK_ROTATION
= 0x00000002,
3228 PEN_MASK_TILT_X
= 0x00000004,
3229 PEN_MASK_TILT_Y
= 0x00000008,
3231 STRUCT
!{struct POINTER_PEN_INFO
{
3232 pointerInfo
: POINTER_INFO
,
3233 penFlags
: PEN_FLAGS
,
3240 pub const POINTER_MESSAGE_FLAG_NEW
: DWORD
= 0x00000001;
3241 pub const POINTER_MESSAGE_FLAG_INRANGE
: DWORD
= 0x00000002;
3242 pub const POINTER_MESSAGE_FLAG_INCONTACT
: DWORD
= 0x00000004;
3243 pub const POINTER_MESSAGE_FLAG_FIRSTBUTTON
: DWORD
= 0x00000010;
3244 pub const POINTER_MESSAGE_FLAG_SECONDBUTTON
: DWORD
= 0x00000020;
3245 pub const POINTER_MESSAGE_FLAG_THIRDBUTTON
: DWORD
= 0x00000040;
3246 pub const POINTER_MESSAGE_FLAG_FOURTHBUTTON
: DWORD
= 0x00000080;
3247 pub const POINTER_MESSAGE_FLAG_FIFTHBUTTON
: DWORD
= 0x00000100;
3248 pub const POINTER_MESSAGE_FLAG_PRIMARY
: DWORD
= 0x00002000;
3249 pub const POINTER_MESSAGE_FLAG_CONFIDENCE
: DWORD
= 0x00004000;
3250 pub const POINTER_MESSAGE_FLAG_CANCELED
: DWORD
= 0x00008000;
3251 pub const PA_ACTIVATE
: UINT
= MA_ACTIVATE
;
3252 pub const PA_NOACTIVATE
: UINT
= MA_NOACTIVATE
;
3253 pub const MAX_TOUCH_COUNT
: UINT32
= 256;
3254 pub const TOUCH_FEEDBACK_DEFAULT
: DWORD
= 0x1;
3255 pub const TOUCH_FEEDBACK_INDIRECT
: DWORD
= 0x2;
3256 pub const TOUCH_FEEDBACK_NONE
: DWORD
= 0x3;
3257 ENUM
!{enum POINTER_FEEDBACK_MODE
{
3258 POINTER_FEEDBACK_DEFAULT
= 1,
3259 POINTER_FEEDBACK_INDIRECT
= 2,
3260 POINTER_FEEDBACK_NONE
= 3,
3263 pub fn InitializeTouchInjection(
3267 pub fn InjectTouchInput(
3269 contacts
: *const POINTER_TOUCH_INFO
,
3272 STRUCT
!{struct USAGE_PROPERTIES
{
3276 logicalMinimum
: INT32
,
3277 logicalMaximum
: INT32
,
3281 physicalMinimum
: INT32
,
3282 physicalMaximum
: INT32
,
3284 pub type PUSAGE_PROPERTIES
= *mut USAGE_PROPERTIES
;
3285 UNION
!{union POINTER_TYPE_INFO_u
{
3286 [u64; 17] [u64; 18],
3287 touchInfo touchInfo_mut
: POINTER_TOUCH_INFO
,
3288 penInfo penInfo_mut
: POINTER_PEN_INFO
,
3290 STRUCT
!{struct POINTER_TYPE_INFO
{
3291 type_
: POINTER_INPUT_TYPE
,
3292 u
: POINTER_TYPE_INFO_u
,
3294 pub type PPOINTER_TYPE_INFO
= *mut POINTER_TYPE_INFO
;
3295 STRUCT
!{struct INPUT_INJECTION_VALUE
{
3301 pub type PINPUT_INJECTION_VALUE
= *mut INPUT_INJECTION_VALUE
;
3303 pub fn GetPointerType(
3305 pointerType
: *mut POINTER_INPUT_TYPE
,
3307 pub fn GetPointerCursorId(
3309 cursorId
: *mut UINT32
,
3311 pub fn GetPointerInfo(
3313 pointerInfo
: *mut POINTER_INFO
,
3315 pub fn GetPointerInfoHistory(
3317 entriesCount
: *mut UINT32
,
3318 pointerInfo
: *mut POINTER_INFO
,
3320 pub fn GetPointerFrameInfo(
3322 pointerCount
: *mut UINT32
,
3323 pointerInfo
: *mut POINTER_INFO
,
3325 pub fn GetPointerFrameInfoHistory(
3327 entriesCount
: *mut UINT32
,
3328 pointerCount
: *mut UINT32
,
3329 pointerInfo
: *mut POINTER_INFO
,
3331 pub fn GetPointerTouchInfo(
3333 touchInfo
: *mut POINTER_TOUCH_INFO
,
3335 pub fn GetPointerTouchInfoHistory(
3337 entriesCount
: *mut UINT32
,
3338 touchInfo
: *mut POINTER_TOUCH_INFO
,
3340 pub fn GetPointerFrameTouchInfo(
3342 pointerCount
: *mut UINT32
,
3343 touchInfo
: *mut POINTER_TOUCH_INFO
,
3345 pub fn GetPointerFrameTouchInfoHistory(
3347 entriesCount
: *mut UINT32
,
3348 pointerCount
: *mut UINT32
,
3349 touchInfo
: *mut POINTER_TOUCH_INFO
,
3351 pub fn GetPointerPenInfo(
3353 penInfo
: *mut POINTER_PEN_INFO
,
3355 pub fn GetPointerPenInfoHistory(
3357 entriesCount
: *mut UINT32
,
3358 penInfo
: *mut POINTER_PEN_INFO
,
3360 pub fn GetPointerFramePenInfo(
3362 pointerCount
: *mut UINT32
,
3363 penInfo
: *mut POINTER_PEN_INFO
,
3365 pub fn GetPointerFramePenInfoHistory(
3367 entriesCount
: *mut UINT32
,
3368 pointerCount
: *mut UINT32
,
3369 penInfo
: *mut POINTER_PEN_INFO
,
3371 pub fn SkipPointerFrameMessages(
3374 pub fn RegisterPointerInputTarget(
3376 pointerType
: POINTER_INPUT_TYPE
,
3378 pub fn UnregisterPointerInputTarget(
3380 pointerType
: POINTER_INPUT_TYPE
,
3382 pub fn RegisterPointerInputTargetEx(
3384 pointerType
: POINTER_INPUT_TYPE
,
3387 pub fn UnregisterPointerInputTargetEx(
3389 pointerType
: POINTER_INPUT_TYPE
,
3392 DECLARE_HANDLE
!{HSYNTHETICPOINTERDEVICE, HSYNTHETICPOINTERDEVICE__}
3394 pub fn CreateSyntheticPointerDevice(
3395 pointerType
: POINTER_INPUT_TYPE
,
3397 mode
: POINTER_FEEDBACK_MODE
,
3398 ) -> HSYNTHETICPOINTERDEVICE
;
3399 pub fn InjectSyntheticPointerInput(
3400 device
: HSYNTHETICPOINTERDEVICE
,
3401 pointerInfo
: *const POINTER_TYPE_INFO
,
3404 pub fn DestroySyntheticPointerDevice(
3405 device
: HSYNTHETICPOINTERDEVICE
,
3409 pub fn EnableMouseInPointer(
3412 pub fn IsMouseInPointerEnabled() -> BOOL
;
3414 pub const TOUCH_HIT_TESTING_DEFAULT
: ULONG
= 0x0;
3415 pub const TOUCH_HIT_TESTING_CLIENT
: ULONG
= 0x1;
3416 pub const TOUCH_HIT_TESTING_NONE
: ULONG
= 0x2;
3418 pub fn RegisterTouchHitTestingWindow(
3423 STRUCT
!{struct TOUCH_HIT_TESTING_PROXIMITY_EVALUATION
{
3425 adjustedPoint
: POINT
,
3427 pub type PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION
= *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION
;
3428 STRUCT
!{struct TOUCH_HIT_TESTING_INPUT
{
3432 nonOccludedBoundingBox
: RECT
,
3433 orientation
: UINT32
,
3435 pub type PTOUCH_HIT_TESTING_INPUT
= *mut TOUCH_HIT_TESTING_INPUT
;
3436 pub const TOUCH_HIT_TESTING_PROXIMITY_CLOSEST
: UINT16
= 0x0;
3437 pub const TOUCH_HIT_TESTING_PROXIMITY_FARTHEST
: UINT16
= 0xFFF;
3439 pub fn EvaluateProximityToRect(
3440 controlBoundingBox
: *const RECT
,
3441 pHitTestingInput
: *const TOUCH_HIT_TESTING_INPUT
,
3442 pProximityEval
: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION
,
3444 pub fn EvaluateProximityToPolygon(
3445 numVertices
: UINT32
,
3446 controlPolygon
: *const POINT
,
3447 pHitTestingInput
: *const TOUCH_HIT_TESTING_INPUT
,
3448 pProximityEval
: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION
,
3450 pub fn PackTouchHitTestingProximityEvaluation(
3451 pHitTestingInput
: *const TOUCH_HIT_TESTING_INPUT
,
3452 pProximityEval
: *const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION
,
3455 ENUM
!{enum FEEDBACK_TYPE
{
3456 FEEDBACK_TOUCH_CONTACTVISUALIZATION
= 1,
3457 FEEDBACK_PEN_BARRELVISUALIZATION
= 2,
3458 FEEDBACK_PEN_TAP
= 3,
3459 FEEDBACK_PEN_DOUBLETAP
= 4,
3460 FEEDBACK_PEN_PRESSANDHOLD
= 5,
3461 FEEDBACK_PEN_RIGHTTAP
= 6,
3462 FEEDBACK_TOUCH_TAP
= 7,
3463 FEEDBACK_TOUCH_DOUBLETAP
= 8,
3464 FEEDBACK_TOUCH_PRESSANDHOLD
= 9,
3465 FEEDBACK_TOUCH_RIGHTTAP
= 10,
3466 FEEDBACK_GESTURE_PRESSANDTAP
= 11,
3467 FEEDBACK_MAX
= 0xFFFFFFFF,
3469 pub const GWFS_INCLUDE_ANCESTORS
: DWORD
= 0x00000001;
3471 pub fn GetWindowFeedbackSetting(
3473 feedback
: FEEDBACK_TYPE
,
3478 pub fn SetWindowFeedbackSetting(
3480 feedback
: FEEDBACK_TYPE
,
3483 configuration
: *const VOID
,
3486 STRUCT
!{struct INPUT_TRANSFORM
{
3490 pub fn GetPointerInputTransform(
3492 historyCount
: UINT32
,
3493 inputTransform
: *mut INPUT_TRANSFORM
,
3496 STRUCT
!{struct LASTINPUTINFO
{
3500 pub type PLASTINPUTINFO
= *mut LASTINPUTINFO
;
3502 pub fn GetLastInputInfo(
3503 plii
: PLASTINPUTINFO
,
3505 pub fn MapVirtualKeyA(
3509 pub fn MapVirtualKeyW(
3513 pub fn MapVirtualKeyExA(
3518 pub fn MapVirtualKeyExW(
3524 pub const MAPVK_VK_TO_VSC
: UINT
= 0;
3525 pub const MAPVK_VSC_TO_VK
: UINT
= 1;
3526 pub const MAPVK_VK_TO_CHAR
: UINT
= 2;
3527 pub const MAPVK_VSC_TO_VK_EX
: UINT
= 3;
3528 pub const MAPVK_VK_TO_VSC_EX
: UINT
= 4;
3530 pub fn GetInputState() -> BOOL
;
3531 pub fn GetQueueStatus(
3534 pub fn GetCapture() -> HWND
;
3538 pub fn ReleaseCapture() -> BOOL
;
3539 pub fn MsgWaitForMultipleObjects(
3541 pHandles
: *const HANDLE
,
3543 dwMilliseconds
: DWORD
,
3546 pub fn MsgWaitForMultipleObjectsEx(
3548 pHandles
: *const HANDLE
,
3549 dwMilliseconds
: DWORD
,
3554 pub const MWMO_WAITALL
: UINT
= 0x0001;
3555 pub const MWMO_ALERTABLE
: UINT
= 0x0002;
3556 pub const MWMO_INPUTAVAILABLE
: UINT
= 0x0004;
3557 pub const QS_KEY
: UINT
= 0x0001;
3558 pub const QS_MOUSEMOVE
: UINT
= 0x0002;
3559 pub const QS_MOUSEBUTTON
: UINT
= 0x0004;
3560 pub const QS_POSTMESSAGE
: UINT
= 0x0008;
3561 pub const QS_TIMER
: UINT
= 0x0010;
3562 pub const QS_PAINT
: UINT
= 0x0020;
3563 pub const QS_SENDMESSAGE
: UINT
= 0x0040;
3564 pub const QS_HOTKEY
: UINT
= 0x0080;
3565 pub const QS_ALLPOSTMESSAGE
: UINT
= 0x0100;
3566 pub const QS_RAWINPUT
: UINT
= 0x0400;
3567 pub const QS_TOUCH
: UINT
= 0x0800;
3568 pub const QS_POINTER
: UINT
= 0x1000;
3569 pub const QS_MOUSE
: UINT
= QS_MOUSEMOVE
| QS_MOUSEBUTTON
;
3570 pub const QS_INPUT
: UINT
= QS_MOUSE
| QS_KEY
| QS_RAWINPUT
| QS_TOUCH
| QS_POINTER
;
3571 pub const QS_ALLEVENTS
: UINT
= QS_INPUT
| QS_POSTMESSAGE
| QS_TIMER
| QS_PAINT
| QS_HOTKEY
;
3572 pub const QS_ALLINPUT
: UINT
= QS_INPUT
| QS_POSTMESSAGE
| QS_TIMER
| QS_PAINT
| QS_HOTKEY
3574 pub const USER_TIMER_MAXIMUM
: UINT
= 0x7FFFFFFF;
3575 pub const USER_TIMER_MINIMUM
: UINT
= 0x0000000A;
3581 lpTimerFunc
: TIMERPROC
,
3584 pub const TIMERV_DEFAULT_COALESCING
: ULONG
= 0;
3585 pub const TIMERV_NO_COALESCING
: ULONG
= 0xFFFFFFFF;
3586 pub const TIMERV_COALESCING_MIN
: ULONG
= 1;
3587 pub const TIMERV_COALESCING_MAX
: ULONG
= 0x7FFFFFF5;
3589 pub fn SetCoalescableTimer(
3593 lpTimerFunc
: TIMERPROC
,
3594 uToleranceDelay
: ULONG
,
3600 pub fn IsWindowUnicode(
3603 pub fn EnableWindow(
3607 pub fn IsWindowEnabled(
3610 pub fn LoadAcceleratorsA(
3611 hInstance
: HINSTANCE
,
3612 lpTableName
: LPCSTR
,
3614 pub fn LoadAcceleratorsW(
3615 hInstance
: HINSTANCE
,
3616 lpTableName
: LPCWSTR
,
3618 pub fn CreateAcceleratorTableA(
3622 pub fn CreateAcceleratorTableW(
3626 pub fn DestroyAcceleratorTable(
3629 pub fn CopyAcceleratorTableA(
3631 lpAccelDst
: LPACCEL
,
3632 cAccelEntries
: c_int
,
3634 pub fn CopyAcceleratorTableW(
3636 lpAccelDst
: LPACCEL
,
3637 cAccelEntries
: c_int
,
3639 pub fn TranslateAcceleratorA(
3644 pub fn TranslateAcceleratorW(
3650 pub const SM_CXSCREEN
: c_int
= 0;
3651 pub const SM_CYSCREEN
: c_int
= 1;
3652 pub const SM_CXVSCROLL
: c_int
= 2;
3653 pub const SM_CYHSCROLL
: c_int
= 3;
3654 pub const SM_CYCAPTION
: c_int
= 4;
3655 pub const SM_CXBORDER
: c_int
= 5;
3656 pub const SM_CYBORDER
: c_int
= 6;
3657 pub const SM_CXDLGFRAME
: c_int
= 7;
3658 pub const SM_CYDLGFRAME
: c_int
= 8;
3659 pub const SM_CYVTHUMB
: c_int
= 9;
3660 pub const SM_CXHTHUMB
: c_int
= 10;
3661 pub const SM_CXICON
: c_int
= 11;
3662 pub const SM_CYICON
: c_int
= 12;
3663 pub const SM_CXCURSOR
: c_int
= 13;
3664 pub const SM_CYCURSOR
: c_int
= 14;
3665 pub const SM_CYMENU
: c_int
= 15;
3666 pub const SM_CXFULLSCREEN
: c_int
= 16;
3667 pub const SM_CYFULLSCREEN
: c_int
= 17;
3668 pub const SM_CYKANJIWINDOW
: c_int
= 18;
3669 pub const SM_MOUSEPRESENT
: c_int
= 19;
3670 pub const SM_CYVSCROLL
: c_int
= 20;
3671 pub const SM_CXHSCROLL
: c_int
= 21;
3672 pub const SM_DEBUG
: c_int
= 22;
3673 pub const SM_SWAPBUTTON
: c_int
= 23;
3674 pub const SM_RESERVED1
: c_int
= 24;
3675 pub const SM_RESERVED2
: c_int
= 25;
3676 pub const SM_RESERVED3
: c_int
= 26;
3677 pub const SM_RESERVED4
: c_int
= 27;
3678 pub const SM_CXMIN
: c_int
= 28;
3679 pub const SM_CYMIN
: c_int
= 29;
3680 pub const SM_CXSIZE
: c_int
= 30;
3681 pub const SM_CYSIZE
: c_int
= 31;
3682 pub const SM_CXFRAME
: c_int
= 32;
3683 pub const SM_CYFRAME
: c_int
= 33;
3684 pub const SM_CXMINTRACK
: c_int
= 34;
3685 pub const SM_CYMINTRACK
: c_int
= 35;
3686 pub const SM_CXDOUBLECLK
: c_int
= 36;
3687 pub const SM_CYDOUBLECLK
: c_int
= 37;
3688 pub const SM_CXICONSPACING
: c_int
= 38;
3689 pub const SM_CYICONSPACING
: c_int
= 39;
3690 pub const SM_MENUDROPALIGNMENT
: c_int
= 40;
3691 pub const SM_PENWINDOWS
: c_int
= 41;
3692 pub const SM_DBCSENABLED
: c_int
= 42;
3693 pub const SM_CMOUSEBUTTONS
: c_int
= 43;
3694 pub const SM_CXFIXEDFRAME
: c_int
= SM_CXDLGFRAME
;
3695 pub const SM_CYFIXEDFRAME
: c_int
= SM_CYDLGFRAME
;
3696 pub const SM_CXSIZEFRAME
: c_int
= SM_CXFRAME
;
3697 pub const SM_CYSIZEFRAME
: c_int
= SM_CYFRAME
;
3698 pub const SM_SECURE
: c_int
= 44;
3699 pub const SM_CXEDGE
: c_int
= 45;
3700 pub const SM_CYEDGE
: c_int
= 46;
3701 pub const SM_CXMINSPACING
: c_int
= 47;
3702 pub const SM_CYMINSPACING
: c_int
= 48;
3703 pub const SM_CXSMICON
: c_int
= 49;
3704 pub const SM_CYSMICON
: c_int
= 50;
3705 pub const SM_CYSMCAPTION
: c_int
= 51;
3706 pub const SM_CXSMSIZE
: c_int
= 52;
3707 pub const SM_CYSMSIZE
: c_int
= 53;
3708 pub const SM_CXMENUSIZE
: c_int
= 54;
3709 pub const SM_CYMENUSIZE
: c_int
= 55;
3710 pub const SM_ARRANGE
: c_int
= 56;
3711 pub const SM_CXMINIMIZED
: c_int
= 57;
3712 pub const SM_CYMINIMIZED
: c_int
= 58;
3713 pub const SM_CXMAXTRACK
: c_int
= 59;
3714 pub const SM_CYMAXTRACK
: c_int
= 60;
3715 pub const SM_CXMAXIMIZED
: c_int
= 61;
3716 pub const SM_CYMAXIMIZED
: c_int
= 62;
3717 pub const SM_NETWORK
: c_int
= 63;
3718 pub const SM_CLEANBOOT
: c_int
= 67;
3719 pub const SM_CXDRAG
: c_int
= 68;
3720 pub const SM_CYDRAG
: c_int
= 69;
3721 pub const SM_SHOWSOUNDS
: c_int
= 70;
3722 pub const SM_CXMENUCHECK
: c_int
= 71;
3723 pub const SM_CYMENUCHECK
: c_int
= 72;
3724 pub const SM_SLOWMACHINE
: c_int
= 73;
3725 pub const SM_MIDEASTENABLED
: c_int
= 74;
3726 pub const SM_MOUSEWHEELPRESENT
: c_int
= 75;
3727 pub const SM_XVIRTUALSCREEN
: c_int
= 76;
3728 pub const SM_YVIRTUALSCREEN
: c_int
= 77;
3729 pub const SM_CXVIRTUALSCREEN
: c_int
= 78;
3730 pub const SM_CYVIRTUALSCREEN
: c_int
= 79;
3731 pub const SM_CMONITORS
: c_int
= 80;
3732 pub const SM_SAMEDISPLAYFORMAT
: c_int
= 81;
3733 pub const SM_IMMENABLED
: c_int
= 82;
3734 pub const SM_CXFOCUSBORDER
: c_int
= 83;
3735 pub const SM_CYFOCUSBORDER
: c_int
= 84;
3736 pub const SM_TABLETPC
: c_int
= 86;
3737 pub const SM_MEDIACENTER
: c_int
= 87;
3738 pub const SM_STARTER
: c_int
= 88;
3739 pub const SM_SERVERR2
: c_int
= 89;
3740 pub const SM_MOUSEHORIZONTALWHEELPRESENT
: c_int
= 91;
3741 pub const SM_CXPADDEDBORDER
: c_int
= 92;
3742 pub const SM_DIGITIZER
: c_int
= 94;
3743 pub const SM_MAXIMUMTOUCHES
: c_int
= 95;
3744 pub const SM_CMETRICS
: c_int
= 97;
3745 pub const SM_REMOTESESSION
: c_int
= 0x1000;
3746 pub const SM_SHUTTINGDOWN
: c_int
= 0x2000;
3747 pub const SM_REMOTECONTROL
: c_int
= 0x2001;
3748 pub const SM_CARETBLINKINGENABLED
: c_int
= 0x2002;
3749 pub const SM_CONVERTIBLESLATEMODE
: c_int
= 0x2003;
3750 pub const SM_SYSTEMDOCKED
: c_int
= 0x2004;
3752 pub fn GetSystemMetrics(
3755 pub fn GetSystemMetricsForDpi(
3760 hInstance
: HINSTANCE
,
3764 hInstance
: HINSTANCE
,
3765 lpMenuName
: LPCWSTR
,
3767 pub fn LoadMenuIndirectA(
3768 lpMenuTemplate
: *const MENUTEMPLATEA
,
3770 pub fn LoadMenuIndirectW(
3771 lpMenuTemplate
: *const MENUTEMPLATEW
,
3783 lpszNewItem
: LPCSTR
,
3790 lpszNewItem
: LPCWSTR
,
3794 pub fn HiliteMenuItem(
3797 uIDHiliteItem
: UINT
,
3800 pub fn GetMenuStringA(
3807 pub fn GetMenuStringW(
3814 pub fn GetMenuState(
3823 pub const PMB_ACTIVE
: DWORD
= 0x00000001;
3825 pub fn GetSystemMenu(
3829 pub fn CreateMenu() -> HMENU
;
3830 pub fn CreatePopupMenu() ->HMENU
;
3834 pub fn CheckMenuItem(
3839 pub fn EnableMenuItem(
3841 uIDEnableItem
: UINT
,
3848 pub fn GetMenuItemID(
3852 pub fn GetMenuItemCount(
3859 uIDNewItem
: UINT_PTR
,
3866 uIDNewItem
: UINT_PTR
,
3872 uIDNewItem
: UINT_PTR
,
3878 uIDNewItem
: UINT_PTR
,
3885 uIDNewItem
: UINT_PTR
,
3892 uIDNewItem
: UINT_PTR
,
3905 pub fn SetMenuItemBitmaps(
3909 hBitmapUnchecked
: HBITMAP
,
3910 hBitmapChecked
: HBITMAP
,
3912 pub fn GetMenuCheckMarkDimensions() -> LONG
;
3913 pub fn TrackPopupMenu(
3920 prcRect
: *const RECT
,
3923 pub const MNC_IGNORE
: DWORD
= 0;
3924 pub const MNC_CLOSE
: DWORD
= 1;
3925 pub const MNC_EXECUTE
: DWORD
= 2;
3926 pub const MNC_SELECT
: DWORD
= 3;
3927 STRUCT
!{struct TPMPARAMS
{
3931 pub type LPTPMPARAMS
= *mut TPMPARAMS
;
3933 pub fn TrackPopupMenuEx(
3941 pub fn CalculatePopupWindowPosition(
3942 anchorPoint
: *const POINT
,
3943 windowSize
: *const SIZE
,
3945 excludeRect
: *mut RECT
,
3946 popupWindowPosition
: *mut RECT
,
3949 pub const MNS_NOCHECK
: DWORD
= 0x80000000;
3950 pub const MNS_MODELESS
: DWORD
= 0x40000000;
3951 pub const MNS_DRAGDROP
: DWORD
= 0x20000000;
3952 pub const MNS_AUTODISMISS
: DWORD
= 0x10000000;
3953 pub const MNS_NOTIFYBYPOS
: DWORD
= 0x08000000;
3954 pub const MNS_CHECKORBMP
: DWORD
= 0x04000000;
3955 pub const MIM_MAXHEIGHT
: DWORD
= 0x00000001;
3956 pub const MIM_BACKGROUND
: DWORD
= 0x00000002;
3957 pub const MIM_HELPID
: DWORD
= 0x00000004;
3958 pub const MIM_MENUDATA
: DWORD
= 0x00000008;
3959 pub const MIM_STYLE
: DWORD
= 0x00000010;
3960 pub const MIM_APPLYTOSUBMENUS
: DWORD
= 0x80000000;
3961 STRUCT
!{struct MENUINFO
{
3967 dwContextHelpID
: DWORD
,
3968 dwMenuData
: ULONG_PTR
,
3970 pub type LPMENUINFO
= *mut MENUINFO
;
3971 pub type LPCMENUINFO
= *const MENUINFO
;
3984 uIDNewItem
: UINT_PTR
,
3988 pub const MND_CONTINUE
: DWORD
= 0;
3989 pub const MND_ENDMENU
: DWORD
= 1;
3990 STRUCT
!{struct MENUGETOBJECTINFO
{
3997 pub type PMENUGETOBJECTINFO
= *mut MENUGETOBJECTINFO
;
3998 pub const MNGOF_TOPGAP
: DWORD
= 0x00000001;
3999 pub const MNGOF_BOTTOMGAP
: DWORD
= 0x00000002;
4000 pub const MNGO_NOINTERFACE
: DWORD
= 0x00000000;
4001 pub const MNGO_NOERROR
: DWORD
= 0x00000001;
4002 pub const MIIM_STATE
: DWORD
= 0x00000001;
4003 pub const MIIM_ID
: DWORD
= 0x00000002;
4004 pub const MIIM_SUBMENU
: DWORD
= 0x00000004;
4005 pub const MIIM_CHECKMARKS
: DWORD
= 0x00000008;
4006 pub const MIIM_TYPE
: DWORD
= 0x00000010;
4007 pub const MIIM_DATA
: DWORD
= 0x00000020;
4008 pub const MIIM_STRING
: DWORD
= 0x00000040;
4009 pub const MIIM_BITMAP
: DWORD
= 0x00000080;
4010 pub const MIIM_FTYPE
: DWORD
= 0x00000100;
4011 pub const HBMMENU_CALLBACK
: HBITMAP
= -1isize
as HBITMAP
;
4012 pub const HBMMENU_SYSTEM
: HBITMAP
= 1 as HBITMAP
;
4013 pub const HBMMENU_MBAR_RESTORE
: HBITMAP
= 2 as HBITMAP
;
4014 pub const HBMMENU_MBAR_MINIMIZE
: HBITMAP
= 3 as HBITMAP
;
4015 pub const HBMMENU_MBAR_CLOSE
: HBITMAP
= 5 as HBITMAP
;
4016 pub const HBMMENU_MBAR_CLOSE_D
: HBITMAP
= 6 as HBITMAP
;
4017 pub const HBMMENU_MBAR_MINIMIZE_D
: HBITMAP
= 7 as HBITMAP
;
4018 pub const HBMMENU_POPUP_CLOSE
: HBITMAP
= 8 as HBITMAP
;
4019 pub const HBMMENU_POPUP_RESTORE
: HBITMAP
= 9 as HBITMAP
;
4020 pub const HBMMENU_POPUP_MAXIMIZE
: HBITMAP
= 10 as HBITMAP
;
4021 pub const HBMMENU_POPUP_MINIMIZE
: HBITMAP
= 11 as HBITMAP
;
4022 STRUCT
!{struct MENUITEMINFOA
{
4029 hbmpChecked
: HBITMAP
,
4030 hbmpUnchecked
: HBITMAP
,
4031 dwItemData
: ULONG_PTR
,
4036 pub type LPMENUITEMINFOA
= *mut MENUITEMINFOA
;
4037 pub type LPCMENUITEMINFOA
= *const MENUITEMINFOA
;
4038 STRUCT
!{struct MENUITEMINFOW
{
4045 hbmpChecked
: HBITMAP
,
4046 hbmpUnchecked
: HBITMAP
,
4047 dwItemData
: ULONG_PTR
,
4052 pub type LPMENUITEMINFOW
= *mut MENUITEMINFOW
;
4053 pub type LPCMENUITEMINFOW
= *const MENUITEMINFOW
;
4055 pub fn InsertMenuItemA(
4059 lpmi
: LPCMENUITEMINFOA
,
4061 pub fn InsertMenuItemW(
4065 lpmi
: LPCMENUITEMINFOW
,
4067 pub fn GetMenuItemInfoA(
4071 lpmii
: LPMENUITEMINFOA
,
4073 pub fn GetMenuItemInfoW(
4077 lpmii
: LPMENUITEMINFOW
,
4079 pub fn SetMenuItemInfoA(
4083 lpmii
: LPCMENUITEMINFOA
,
4085 pub fn SetMenuItemInfoW(
4089 lpmii
: LPCMENUITEMINFOW
,
4092 pub const GMDI_USEDISABLED
: DWORD
= 0x0001;
4093 pub const GMDI_GOINTOPOPUPS
: DWORD
= 0x0002;
4095 pub fn GetMenuDefaultItem(
4100 pub fn SetMenuDefaultItem(
4105 pub fn GetMenuItemRect(
4111 pub fn MenuItemFromPoint(
4117 pub const TPM_LEFTBUTTON
: UINT
= 0x0000;
4118 pub const TPM_RIGHTBUTTON
: UINT
= 0x0002;
4119 pub const TPM_LEFTALIGN
: UINT
= 0x0000;
4120 pub const TPM_CENTERALIGN
: UINT
= 0x0004;
4121 pub const TPM_RIGHTALIGN
: UINT
= 0x0008;
4122 pub const TPM_TOPALIGN
: UINT
= 0x0000;
4123 pub const TPM_VCENTERALIGN
: UINT
= 0x0010;
4124 pub const TPM_BOTTOMALIGN
: UINT
= 0x0020;
4125 pub const TPM_HORIZONTAL
: UINT
= 0x0000;
4126 pub const TPM_VERTICAL
: UINT
= 0x0040;
4127 pub const TPM_NONOTIFY
: UINT
= 0x0080;
4128 pub const TPM_RETURNCMD
: UINT
= 0x0100;
4129 pub const TPM_RECURSE
: UINT
= 0x0001;
4130 pub const TPM_HORPOSANIMATION
: UINT
= 0x0400;
4131 pub const TPM_HORNEGANIMATION
: UINT
= 0x0800;
4132 pub const TPM_VERPOSANIMATION
: UINT
= 0x1000;
4133 pub const TPM_VERNEGANIMATION
: UINT
= 0x2000;
4134 pub const TPM_NOANIMATION
: UINT
= 0x4000;
4135 pub const TPM_LAYOUTRTL
: UINT
= 0x8000;
4136 pub const TPM_WORKAREA
: UINT
= 0x10000;
4137 STRUCT
!{struct DROPSTRUCT
{
4143 dwControlData
: DWORD
,
4145 pub type PDROPSTRUCT
= *mut DROPSTRUCT
;
4146 pub type LPDROPSTRUCT
= *mut DROPSTRUCT
;
4147 pub const DOF_EXECUTABLE
: DWORD
= 0x8001;
4148 pub const DOF_DOCUMENT
: DWORD
= 0x8002;
4149 pub const DOF_DIRECTORY
: DWORD
= 0x8003;
4150 pub const DOF_MULTIPLE
: DWORD
= 0x8004;
4151 pub const DOF_PROGMAN
: DWORD
= 0x0001;
4152 pub const DOF_SHELLDATA
: DWORD
= 0x0002;
4153 pub const DO_DROPFILE
: DWORD
= 0x454C4946;
4154 pub const DO_PRINTFILE
: DWORD
= 0x544E5250;
4174 pub const DT_TOP
: UINT
= 0x00000000;
4175 pub const DT_LEFT
: UINT
= 0x00000000;
4176 pub const DT_CENTER
: UINT
= 0x00000001;
4177 pub const DT_RIGHT
: UINT
= 0x00000002;
4178 pub const DT_VCENTER
: UINT
= 0x00000004;
4179 pub const DT_BOTTOM
: UINT
= 0x00000008;
4180 pub const DT_WORDBREAK
: UINT
= 0x00000010;
4181 pub const DT_SINGLELINE
: UINT
= 0x00000020;
4182 pub const DT_EXPANDTABS
: UINT
= 0x00000040;
4183 pub const DT_TABSTOP
: UINT
= 0x00000080;
4184 pub const DT_NOCLIP
: UINT
= 0x00000100;
4185 pub const DT_EXTERNALLEADING
: UINT
= 0x00000200;
4186 pub const DT_CALCRECT
: UINT
= 0x00000400;
4187 pub const DT_NOPREFIX
: UINT
= 0x00000800;
4188 pub const DT_INTERNAL
: UINT
= 0x00001000;
4189 pub const DT_EDITCONTROL
: UINT
= 0x00002000;
4190 pub const DT_PATH_ELLIPSIS
: UINT
= 0x00004000;
4191 pub const DT_END_ELLIPSIS
: UINT
= 0x00008000;
4192 pub const DT_MODIFYSTRING
: UINT
= 0x00010000;
4193 pub const DT_RTLREADING
: UINT
= 0x00020000;
4194 pub const DT_WORD_ELLIPSIS
: UINT
= 0x00040000;
4195 pub const DT_NOFULLWIDTHCHARBREAK
: UINT
= 0x00080000;
4196 pub const DT_HIDEPREFIX
: UINT
= 0x00100000;
4197 pub const DT_PREFIXONLY
: UINT
= 0x00200000;
4198 STRUCT
!{struct DRAWTEXTPARAMS
{
4202 iRightMargin
: c_int
,
4203 uiLengthDrawn
: UINT
,
4205 pub type LPDRAWTEXTPARAMS
= *mut DRAWTEXTPARAMS
;
4227 lpdtp
: LPDRAWTEXTPARAMS
,
4235 lpdtp
: LPDRAWTEXTPARAMS
,
4240 lpOutputFunc
: GRAYSTRINGPROC
,
4251 lpOutputFunc
: GRAYSTRINGPROC
,
4260 pub const DST_COMPLEX
: UINT
= 0x0000;
4261 pub const DST_TEXT
: UINT
= 0x0001;
4262 pub const DST_PREFIXTEXT
: UINT
= 0x0002;
4263 pub const DST_ICON
: UINT
= 0x0003;
4264 pub const DST_BITMAP
: UINT
= 0x0004;
4265 pub const DSS_NORMAL
: UINT
= 0x0000;
4266 pub const DSS_UNION
: UINT
= 0x0010;
4267 pub const DSS_DISABLED
: UINT
= 0x0020;
4268 pub const DSS_MONO
: UINT
= 0x0080;
4269 pub const DSS_HIDEPREFIX
: UINT
= 0x0200;
4270 pub const DSS_PREFIXONLY
: UINT
= 0x0400;
4271 pub const DSS_RIGHT
: UINT
= 0x8000;
4276 qfnCallBack
: DRAWSTATEPROC
,
4288 qfnCallBack
: DRAWSTATEPROC
,
4297 pub fn TabbedTextOutA(
4303 nTabPositions
: c_int
,
4304 lpnTabStopPositions
: *const INT
,
4307 pub fn TabbedTextOutW(
4313 nTabPositions
: c_int
,
4314 lpnTabStopPositions
: *const INT
,
4317 pub fn GetTabbedTextExtentA(
4321 nTabPositions
: c_int
,
4322 lpnTabStopPositions
: *const INT
,
4324 pub fn GetTabbedTextExtentW(
4328 nTabPositions
: c_int
,
4329 lpnTabStopPositions
: *const INT
,
4331 pub fn UpdateWindow(
4334 pub fn SetActiveWindow(
4337 pub fn GetForegroundWindow() -> HWND
;
4338 pub fn PaintDesktop(
4341 pub fn SwitchToThisWindow(
4345 pub fn SetForegroundWindow(
4348 pub fn AllowSetForegroundWindow(
4352 pub const ASFW_ANY
: DWORD
= -1i32 as u32;
4354 pub fn LockSetForegroundWindow(
4358 pub const LSFW_LOCK
: UINT
= 1;
4359 pub const LSFW_UNLOCK
: UINT
= 2;
4361 pub fn WindowFromDC(
4373 pub const DCX_WINDOW
: DWORD
= 0x00000001;
4374 pub const DCX_CACHE
: DWORD
= 0x00000002;
4375 pub const DCX_NORESETATTRS
: DWORD
= 0x00000004;
4376 pub const DCX_CLIPCHILDREN
: DWORD
= 0x00000008;
4377 pub const DCX_CLIPSIBLINGS
: DWORD
= 0x00000010;
4378 pub const DCX_PARENTCLIP
: DWORD
= 0x00000020;
4379 pub const DCX_EXCLUDERGN
: DWORD
= 0x00000040;
4380 pub const DCX_INTERSECTRGN
: DWORD
= 0x00000080;
4381 pub const DCX_EXCLUDEUPDATE
: DWORD
= 0x00000100;
4382 pub const DCX_INTERSECTUPDATE
: DWORD
= 0x00000200;
4383 pub const DCX_LOCKWINDOWUPDATE
: DWORD
= 0x00000400;
4384 pub const DCX_VALIDATE
: DWORD
= 0x00200000;
4395 lpPaint
: LPPAINTSTRUCT
,
4399 lpPaint
: *const PAINTSTRUCT
,
4401 pub fn GetUpdateRect(
4406 pub fn GetUpdateRgn(
4411 pub fn SetWindowRgn(
4416 pub fn GetWindowRgn(
4420 pub fn GetWindowRgnBox(
4424 pub fn ExcludeUpdateRgn(
4428 pub fn InvalidateRect(
4430 lpRect
: *const RECT
,
4433 pub fn ValidateRect(
4435 lpRect
: *const RECT
,
4437 pub fn InvalidateRgn(
4446 pub fn RedrawWindow(
4448 lprcUpdate
: *const RECT
,
4453 pub const RDW_INVALIDATE
: UINT
= 0x0001;
4454 pub const RDW_INTERNALPAINT
: UINT
= 0x0002;
4455 pub const RDW_ERASE
: UINT
= 0x0004;
4456 pub const RDW_VALIDATE
: UINT
= 0x0008;
4457 pub const RDW_NOINTERNALPAINT
: UINT
= 0x0010;
4458 pub const RDW_NOERASE
: UINT
= 0x0020;
4459 pub const RDW_NOCHILDREN
: UINT
= 0x0040;
4460 pub const RDW_ALLCHILDREN
: UINT
= 0x0080;
4461 pub const RDW_UPDATENOW
: UINT
= 0x0100;
4462 pub const RDW_ERASENOW
: UINT
= 0x0200;
4463 pub const RDW_FRAME
: UINT
= 0x0400;
4464 pub const RDW_NOFRAME
: UINT
= 0x0800;
4466 pub fn LockWindowUpdate(
4469 pub fn ScrollWindow(
4473 lpRect
: *const RECT
,
4474 lpClipRect
: *const RECT
,
4480 lprcScroll
: *const RECT
,
4481 lprcClip
: *const RECT
,
4485 pub fn ScrollWindowEx(
4489 prcScroll
: *const RECT
,
4490 prcClip
: *const RECT
,
4496 pub const SW_SCROLLCHILDREN
: UINT
= 0x0001;
4497 pub const SW_INVALIDATE
: UINT
= 0x0002;
4498 pub const SW_ERASE
: UINT
= 0x0004;
4499 pub const SW_SMOOTHSCROLL
: UINT
= 0x0010;
4501 pub fn SetScrollPos(
4507 pub fn GetScrollPos(
4511 pub fn SetScrollRange(
4518 pub fn GetScrollRange(
4524 pub fn ShowScrollBar(
4529 pub fn EnableScrollBar(
4535 pub const ESB_ENABLE_BOTH
: UINT
= 0x0000;
4536 pub const ESB_DISABLE_BOTH
: UINT
= 0x0003;
4537 pub const ESB_DISABLE_LEFT
: UINT
= 0x0001;
4538 pub const ESB_DISABLE_RIGHT
: UINT
= 0x0002;
4539 pub const ESB_DISABLE_UP
: UINT
= 0x0001;
4540 pub const ESB_DISABLE_DOWN
: UINT
= 0x0002;
4541 pub const ESB_DISABLE_LTUP
: UINT
= ESB_DISABLE_LEFT
;
4542 pub const ESB_DISABLE_RTDN
: UINT
= ESB_DISABLE_RIGHT
;
4570 pub fn EnumPropsExA(
4572 lpEnumFunc
: PROPENUMPROCA
,
4575 pub fn EnumPropsExW(
4577 lpEnumFunc
: PROPENUMPROCW
,
4582 lpEnumFunc
: PROPENUMPROCA
,
4586 lpEnumFunc
: PROPENUMPROCW
,
4588 pub fn SetWindowTextA(
4592 pub fn SetWindowTextW(
4596 pub fn GetWindowTextA(
4601 pub fn GetWindowTextW(
4606 pub fn GetWindowTextLengthA(
4609 pub fn GetWindowTextLengthW(
4612 pub fn GetClientRect(
4616 pub fn GetWindowRect(
4620 pub fn AdjustWindowRect(
4625 pub fn AdjustWindowRectEx(
4631 pub fn AdjustWindowRectExForDpi(
4639 pub const HELPINFO_WINDOW
: UINT
= 0x0001;
4640 pub const HELPINFO_MENUITEM
: UINT
= 0x0002;
4641 STRUCT
!{struct HELPINFO
{
4643 iContextType
: c_int
,
4645 hItemHandle
: HANDLE
,
4649 pub type LPHELPINFO
= *mut HELPINFO
;
4651 pub fn SetWindowContextHelpId(
4655 pub fn GetWindowContextHelpId(
4658 pub fn SetMenuContextHelpId(
4662 pub fn GetMenuContextHelpId(
4666 pub const MB_OK
: UINT
= 0x00000000;
4667 pub const MB_OKCANCEL
: UINT
= 0x00000001;
4668 pub const MB_ABORTRETRYIGNORE
: UINT
= 0x00000002;
4669 pub const MB_YESNOCANCEL
: UINT
= 0x00000003;
4670 pub const MB_YESNO
: UINT
= 0x00000004;
4671 pub const MB_RETRYCANCEL
: UINT
= 0x00000005;
4672 pub const MB_CANCELTRYCONTINUE
: UINT
= 0x00000006;
4673 pub const MB_ICONHAND
: UINT
= 0x00000010;
4674 pub const MB_ICONQUESTION
: UINT
= 0x00000020;
4675 pub const MB_ICONEXCLAMATION
: UINT
= 0x00000030;
4676 pub const MB_ICONASTERISK
: UINT
= 0x00000040;
4677 pub const MB_USERICON
: UINT
= 0x00000080;
4678 pub const MB_ICONWARNING
: UINT
= MB_ICONEXCLAMATION
;
4679 pub const MB_ICONERROR
: UINT
= MB_ICONHAND
;
4680 pub const MB_ICONINFORMATION
: UINT
= MB_ICONASTERISK
;
4681 pub const MB_ICONSTOP
: UINT
= MB_ICONHAND
;
4682 pub const MB_DEFBUTTON1
: UINT
= 0x00000000;
4683 pub const MB_DEFBUTTON2
: UINT
= 0x00000100;
4684 pub const MB_DEFBUTTON3
: UINT
= 0x00000200;
4685 pub const MB_DEFBUTTON4
: UINT
= 0x00000300;
4686 pub const MB_APPLMODAL
: UINT
= 0x00000000;
4687 pub const MB_SYSTEMMODAL
: UINT
= 0x00001000;
4688 pub const MB_TASKMODAL
: UINT
= 0x00002000;
4689 pub const MB_HELP
: UINT
= 0x00004000;
4690 pub const MB_NOFOCUS
: UINT
= 0x00008000;
4691 pub const MB_SETFOREGROUND
: UINT
= 0x00010000;
4692 pub const MB_DEFAULT_DESKTOP_ONLY
: UINT
= 0x00020000;
4693 pub const MB_TOPMOST
: UINT
= 0x00040000;
4694 pub const MB_RIGHT
: UINT
= 0x00080000;
4695 pub const MB_RTLREADING
: UINT
= 0x00100000;
4696 pub const MB_SERVICE_NOTIFICATION
: UINT
= 0x00200000;
4697 pub const MB_SERVICE_NOTIFICATION_NT3X
: UINT
= 0x00040000;
4698 pub const MB_TYPEMASK
: UINT
= 0x0000000F;
4699 pub const MB_ICONMASK
: UINT
= 0x000000F0;
4700 pub const MB_DEFMASK
: UINT
= 0x00000F00;
4701 pub const MB_MODEMASK
: UINT
= 0x00003000;
4702 pub const MB_MISCMASK
: UINT
= 0x0000C000;
4716 pub fn MessageBoxExA(
4723 pub fn MessageBoxExW(
4731 FN
!{stdcall
MSGBOXCALLBACK(
4734 STRUCT
!{struct MSGBOXPARAMSA
{
4737 hInstance
: HINSTANCE
,
4739 lpszCaption
: LPCSTR
,
4742 dwContextHelpId
: DWORD_PTR
,
4743 lpfnMsgBoxCallback
: MSGBOXCALLBACK
,
4744 dwLanguageId
: DWORD
,
4746 pub type PMSGBOXPARAMSA
= *mut MSGBOXPARAMSA
;
4747 pub type LPMSGBOXPARAMSA
= *mut MSGBOXPARAMSA
;
4748 STRUCT
!{struct MSGBOXPARAMSW
{
4751 hInstance
: HINSTANCE
,
4753 lpszCaption
: LPCWSTR
,
4756 dwContextHelpId
: DWORD_PTR
,
4757 lpfnMsgBoxCallback
: MSGBOXCALLBACK
,
4758 dwLanguageId
: DWORD
,
4760 pub type PMSGBOXPARAMSW
= *mut MSGBOXPARAMSW
;
4761 pub type LPMSGBOXPARAMSW
= *mut MSGBOXPARAMSW
;
4763 pub fn MessageBoxIndirectA(
4764 lpmbp
: *const MSGBOXPARAMSA
,
4766 pub fn MessageBoxIndirectW(
4767 lpmbp
: *const MSGBOXPARAMSW
,
4775 pub fn SetCursorPos(
4779 pub fn SetPhysicalCursorPos(
4786 pub fn GetCursorPos(
4789 pub fn GetPhysicalCursorPos(
4792 pub fn GetClipCursor(
4795 pub fn GetCursor() -> HCURSOR
;
4802 pub fn GetCaretBlinkTime() -> UINT
;
4803 pub fn SetCaretBlinkTime(
4806 pub fn DestroyCaret() -> BOOL
;
4820 pub fn ClientToScreen(
4824 pub fn ScreenToClient(
4828 pub fn LogicalToPhysicalPoint(
4832 pub fn PhysicalToLogicalPoint(
4836 pub fn LogicalToPhysicalPointForPerMonitorDPI(
4840 pub fn PhysicalToLogicalPointForPerMonitorDPI(
4844 pub fn MapWindowPoints(
4850 pub fn WindowFromPoint(
4853 pub fn WindowFromPhysicalPoint(
4856 pub fn ChildWindowFromPoint(
4861 lpRect
: *const RECT
,
4864 pub const CWP_ALL
: UINT
= 0x0000;
4865 pub const CWP_SKIPINVISIBLE
: UINT
= 0x0001;
4866 pub const CWP_SKIPDISABLED
: UINT
= 0x0002;
4867 pub const CWP_SKIPTRANSPARENT
: UINT
= 0x0004;
4869 pub fn ChildWindowFromPointEx(
4875 pub const CTLCOLOR_MSGBOX
: c_int
= 0;
4876 pub const CTLCOLOR_EDIT
: c_int
= 1;
4877 pub const CTLCOLOR_LISTBOX
: c_int
= 2;
4878 pub const CTLCOLOR_BTN
: c_int
= 3;
4879 pub const CTLCOLOR_DLG
: c_int
= 4;
4880 pub const CTLCOLOR_SCROLLBAR
: c_int
= 5;
4881 pub const CTLCOLOR_STATIC
: c_int
= 6;
4882 pub const CTLCOLOR_MAX
: c_int
= 7;
4883 pub const COLOR_SCROLLBAR
: c_int
= 0;
4884 pub const COLOR_BACKGROUND
: c_int
= 1;
4885 pub const COLOR_ACTIVECAPTION
: c_int
= 2;
4886 pub const COLOR_INACTIVECAPTION
: c_int
= 3;
4887 pub const COLOR_MENU
: c_int
= 4;
4888 pub const COLOR_WINDOW
: c_int
= 5;
4889 pub const COLOR_WINDOWFRAME
: c_int
= 6;
4890 pub const COLOR_MENUTEXT
: c_int
= 7;
4891 pub const COLOR_WINDOWTEXT
: c_int
= 8;
4892 pub const COLOR_CAPTIONTEXT
: c_int
= 9;
4893 pub const COLOR_ACTIVEBORDER
: c_int
= 10;
4894 pub const COLOR_INACTIVEBORDER
: c_int
= 11;
4895 pub const COLOR_APPWORKSPACE
: c_int
= 12;
4896 pub const COLOR_HIGHLIGHT
: c_int
= 13;
4897 pub const COLOR_HIGHLIGHTTEXT
: c_int
= 14;
4898 pub const COLOR_BTNFACE
: c_int
= 15;
4899 pub const COLOR_BTNSHADOW
: c_int
= 16;
4900 pub const COLOR_GRAYTEXT
: c_int
= 17;
4901 pub const COLOR_BTNTEXT
: c_int
= 18;
4902 pub const COLOR_INACTIVECAPTIONTEXT
: c_int
= 19;
4903 pub const COLOR_BTNHIGHLIGHT
: c_int
= 20;
4904 pub const COLOR_3DDKSHADOW
: c_int
= 21;
4905 pub const COLOR_3DLIGHT
: c_int
= 22;
4906 pub const COLOR_INFOTEXT
: c_int
= 23;
4907 pub const COLOR_INFOBK
: c_int
= 24;
4908 pub const COLOR_HOTLIGHT
: c_int
= 26;
4909 pub const COLOR_GRADIENTACTIVECAPTION
: c_int
= 27;
4910 pub const COLOR_GRADIENTINACTIVECAPTION
: c_int
= 28;
4911 pub const COLOR_MENUHILIGHT
: c_int
= 29;
4912 pub const COLOR_MENUBAR
: c_int
= 30;
4913 pub const COLOR_DESKTOP
: c_int
= COLOR_BACKGROUND
;
4914 pub const COLOR_3DFACE
: c_int
= COLOR_BTNFACE
;
4915 pub const COLOR_3DSHADOW
: c_int
= COLOR_BTNSHADOW
;
4916 pub const COLOR_3DHIGHLIGHT
: c_int
= COLOR_BTNHIGHLIGHT
;
4917 pub const COLOR_3DHILIGHT
: c_int
= COLOR_BTNHIGHLIGHT
;
4918 pub const COLOR_BTNHILIGHT
: c_int
= COLOR_BTNHIGHLIGHT
;
4923 pub fn GetSysColorBrush(
4926 pub fn SetSysColors(
4928 lpaElements
: *const INT
,
4929 lpaRgbValues
: *const COLORREF
,
4931 pub fn DrawFocusRect(
4956 pub fn SetRectEmpty(
4961 lprcSrc
: *const RECT
,
4968 pub fn IntersectRect(
4970 lprcSrc1
: *const RECT
,
4971 lprcSrc2
: *const RECT
,
4975 lprcSrc1
: *const RECT
,
4976 lprcSrc2
: *const RECT
,
4978 pub fn SubtractRect(
4980 lprcSrc1
: *const RECT
,
4981 lprcSrc2
: *const RECT
,
4999 pub fn GetWindowWord(
5003 pub fn SetWindowWord(
5008 pub fn GetWindowLongA(
5012 pub fn GetWindowLongW(
5016 pub fn SetWindowLongA(
5021 pub fn SetWindowLongW(
5026 #[cfg(target_pointer_width = "64")]
5027 pub fn GetWindowLongPtrA(
5031 #[cfg(target_pointer_width = "64")]
5032 pub fn GetWindowLongPtrW(
5036 #[cfg(target_pointer_width = "64")]
5037 pub fn SetWindowLongPtrA(
5040 dwNewLong
: LONG_PTR
,
5042 #[cfg(target_pointer_width = "64")]
5043 pub fn SetWindowLongPtrW(
5046 dwNewLong
: LONG_PTR
,
5049 #[cfg(target_pointer_width = "32")]
5050 pub use self::GetWindowLongA
as GetWindowLongPtrA
;
5051 #[cfg(target_pointer_width = "32")]
5052 pub use self::GetWindowLongW
as GetWindowLongPtrW
;
5053 #[cfg(target_pointer_width = "32")]
5054 pub use self::SetWindowLongA
as SetWindowLongPtrA
;
5055 #[cfg(target_pointer_width = "32")]
5056 pub use self::SetWindowLongW
as SetWindowLongPtrW
;
5058 pub fn GetClassWord(
5062 pub fn SetClassWord(
5067 pub fn GetClassLongA(
5071 pub fn GetClassLongW(
5075 pub fn SetClassLongA(
5080 pub fn SetClassLongW(
5085 #[cfg(target_pointer_width = "64")]
5086 pub fn GetClassLongPtrA(
5090 #[cfg(target_pointer_width = "64")]
5091 pub fn GetClassLongPtrW(
5095 #[cfg(target_pointer_width = "64")]
5096 pub fn SetClassLongPtrA(
5099 dwNewLong
: LONG_PTR
,
5101 #[cfg(target_pointer_width = "64")]
5102 pub fn SetClassLongPtrW(
5105 dwNewLong
: LONG_PTR
,
5108 #[cfg(target_pointer_width = "32")]
5109 pub use self::GetClassLongA
as GetClassLongPtrA
;
5110 #[cfg(target_pointer_width = "32")]
5111 pub use self::GetClassLongW
as GetClassLongPtrW
;
5112 #[cfg(target_pointer_width = "32")]
5113 pub use self::SetClassLongA
as SetClassLongPtrA
;
5114 #[cfg(target_pointer_width = "32")]
5115 pub use self::SetClassLongW
as SetClassLongPtrW
;
5117 pub fn GetProcessDefaultLayout(
5118 pdwDefaultLayout
: *mut DWORD
,
5120 pub fn SetProcessDefaultLayout(
5121 dwDefaultLayout
: DWORD
,
5123 pub fn GetDesktopWindow() -> HWND
;
5129 hWndNewParent
: HWND
,
5131 pub fn EnumChildWindows(
5133 lpEnumFunc
: WNDENUMPROC
,
5137 lpClassName
: LPCSTR
,
5138 lpWindowName
: LPCSTR
,
5141 lpClassName
: LPCWSTR
,
5142 lpWindowName
: LPCWSTR
,
5144 pub fn FindWindowExA(
5146 hWndChildAfter
: HWND
,
5150 pub fn FindWindowExW(
5152 hWndChildAfter
: HWND
,
5154 lpszWindow
: LPCWSTR
,
5156 pub fn GetShellWindow() -> HWND
;
5157 pub fn RegisterShellHookWindow(
5160 pub fn DeregisterShellHookWindow(
5164 lpEnumFunc
: WNDENUMPROC
,
5167 pub fn EnumThreadWindows(
5175 pub fn GetClassNameA(
5177 lpClassName
: LPCSTR
,
5180 pub fn GetClassNameW(
5182 lpClassName
: LPCWSTR
,
5185 pub fn GetTopWindow(
5190 // GetSysModalWindow
5191 // SetSysModalWindow
5193 pub fn GetWindowThreadProcessId(
5195 lpdwProcessId
: LPDWORD
,
5200 pub fn GetLastActivePopup(
5204 pub const GW_HWNDFIRST
: UINT
= 0;
5205 pub const GW_HWNDLAST
: UINT
= 1;
5206 pub const GW_HWNDNEXT
: UINT
= 2;
5207 pub const GW_HWNDPREV
: UINT
= 3;
5208 pub const GW_OWNER
: UINT
= 4;
5209 pub const GW_CHILD
: UINT
= 5;
5210 pub const GW_ENABLEDPOPUP
: UINT
= 6;
5211 pub const GW_MAX
: UINT
= 6;
5217 pub fn SetWindowsHookA(
5219 pfnFilterProc
: HOOKPROC
,
5221 pub fn SetWindowsHookW(
5223 pfnFilterProc
: HOOKPROC
,
5225 pub fn UnhookWindowsHook(
5227 pfnFilterProc
: HOOKPROC
,
5229 pub fn SetWindowsHookExA(
5235 pub fn SetWindowsHookExW(
5241 pub fn UnhookWindowsHookEx(
5244 pub fn CallNextHookEx(
5252 pub const MF_INSERT
: UINT
= 0x00000000;
5253 pub const MF_CHANGE
: UINT
= 0x00000080;
5254 pub const MF_APPEND
: UINT
= 0x00000100;
5255 pub const MF_DELETE
: UINT
= 0x00000200;
5256 pub const MF_REMOVE
: UINT
= 0x00001000;
5257 pub const MF_BYCOMMAND
: UINT
= 0x00000000;
5258 pub const MF_BYPOSITION
: UINT
= 0x00000400;
5259 pub const MF_SEPARATOR
: UINT
= 0x00000800;
5260 pub const MF_ENABLED
: UINT
= 0x00000000;
5261 pub const MF_GRAYED
: UINT
= 0x00000001;
5262 pub const MF_DISABLED
: UINT
= 0x00000002;
5263 pub const MF_UNCHECKED
: UINT
= 0x00000000;
5264 pub const MF_CHECKED
: UINT
= 0x00000008;
5265 pub const MF_USECHECKBITMAPS
: UINT
= 0x00000200;
5266 pub const MF_STRING
: UINT
= 0x00000000;
5267 pub const MF_BITMAP
: UINT
= 0x00000004;
5268 pub const MF_OWNERDRAW
: UINT
= 0x00000100;
5269 pub const MF_POPUP
: UINT
= 0x00000010;
5270 pub const MF_MENUBARBREAK
: UINT
= 0x00000020;
5271 pub const MF_MENUBREAK
: UINT
= 0x00000040;
5272 pub const MF_UNHILITE
: UINT
= 0x00000000;
5273 pub const MF_HILITE
: UINT
= 0x00000080;
5274 pub const MF_DEFAULT
: UINT
= 0x00001000;
5275 pub const MF_SYSMENU
: UINT
= 0x00002000;
5276 pub const MF_HELP
: UINT
= 0x00004000;
5277 pub const MF_RIGHTJUSTIFY
: UINT
= 0x00004000;
5278 pub const MF_MOUSESELECT
: UINT
= 0x00008000;
5279 pub const MF_END
: UINT
= 0x00000080;
5280 pub const MFT_STRING
: UINT
= MF_STRING
;
5281 pub const MFT_BITMAP
: UINT
= MF_BITMAP
;
5282 pub const MFT_MENUBARBREAK
: UINT
= MF_MENUBARBREAK
;
5283 pub const MFT_MENUBREAK
: UINT
= MF_MENUBREAK
;
5284 pub const MFT_OWNERDRAW
: UINT
= MF_OWNERDRAW
;
5285 pub const MFT_RADIOCHECK
: UINT
= 0x00000200;
5286 pub const MFT_SEPARATOR
: UINT
= MF_SEPARATOR
;
5287 pub const MFT_RIGHTORDER
: UINT
= 0x00002000;
5288 pub const MFT_RIGHTJUSTIFY
: UINT
= MF_RIGHTJUSTIFY
;
5289 pub const MFS_GRAYED
: UINT
= 0x00000003;
5290 pub const MFS_DISABLED
: UINT
= MFS_GRAYED
;
5291 pub const MFS_CHECKED
: UINT
= MF_CHECKED
;
5292 pub const MFS_HILITE
: UINT
= MF_HILITE
;
5293 pub const MFS_ENABLED
: UINT
= MF_ENABLED
;
5294 pub const MFS_UNCHECKED
: UINT
= MF_UNCHECKED
;
5295 pub const MFS_UNHILITE
: UINT
= MF_UNHILITE
;
5296 pub const MFS_DEFAULT
: UINT
= MF_DEFAULT
;
5298 pub fn CheckMenuRadioItem(
5307 pub const SC_SIZE
: WPARAM
= 0xF000;
5308 pub const SC_MOVE
: WPARAM
= 0xF010;
5309 pub const SC_MINIMIZE
: WPARAM
= 0xF020;
5310 pub const SC_MAXIMIZE
: WPARAM
= 0xF030;
5311 pub const SC_NEXTWINDOW
: WPARAM
= 0xF040;
5312 pub const SC_PREVWINDOW
: WPARAM
= 0xF050;
5313 pub const SC_CLOSE
: WPARAM
= 0xF060;
5314 pub const SC_VSCROLL
: WPARAM
= 0xF070;
5315 pub const SC_HSCROLL
: WPARAM
= 0xF080;
5316 pub const SC_MOUSEMENU
: WPARAM
= 0xF090;
5317 pub const SC_KEYMENU
: WPARAM
= 0xF100;
5318 pub const SC_ARRANGE
: WPARAM
= 0xF110;
5319 pub const SC_RESTORE
: WPARAM
= 0xF120;
5320 pub const SC_TASKLIST
: WPARAM
= 0xF130;
5321 pub const SC_SCREENSAVE
: WPARAM
= 0xF140;
5322 pub const SC_HOTKEY
: WPARAM
= 0xF150;
5323 pub const SC_DEFAULT
: WPARAM
= 0xF160;
5324 pub const SC_MONITORPOWER
: WPARAM
= 0xF170;
5325 pub const SC_CONTEXTHELP
: WPARAM
= 0xF180;
5326 pub const SC_SEPARATOR
: WPARAM
= 0xF00F;
5330 hInstance
: HINSTANCE
,
5331 lpBitmapName
: LPCSTR
,
5334 hInstance
: HINSTANCE
,
5335 lpBitmapName
: LPCWSTR
,
5338 hInstance
: HINSTANCE
,
5339 lpCursorName
: LPCSTR
,
5342 hInstance
: HINSTANCE
,
5343 lpCursorName
: LPCWSTR
,
5345 pub fn LoadCursorFromFileA(
5348 pub fn LoadCursorFromFileW(
5349 lpFileName
: LPCWSTR
,
5351 pub fn CreateCursor(
5357 pvAndPlane
: *const VOID
,
5358 pvXORPlane
: *const VOID
,
5360 pub fn DestroyCursor(
5365 pub const IDC_ARROW
: LPCWSTR
= 32512 as LPCWSTR
;
5366 pub const IDC_IBEAM
: LPCWSTR
= 32513 as LPCWSTR
;
5367 pub const IDC_WAIT
: LPCWSTR
= 32514 as LPCWSTR
;
5368 pub const IDC_CROSS
: LPCWSTR
= 32515 as LPCWSTR
;
5369 pub const IDC_UPARROW
: LPCWSTR
= 32516 as LPCWSTR
;
5370 pub const IDC_SIZE
: LPCWSTR
= 32640 as LPCWSTR
;
5371 pub const IDC_ICON
: LPCWSTR
= 32641 as LPCWSTR
;
5372 pub const IDC_SIZENWSE
: LPCWSTR
= 32642 as LPCWSTR
;
5373 pub const IDC_SIZENESW
: LPCWSTR
= 32643 as LPCWSTR
;
5374 pub const IDC_SIZEWE
: LPCWSTR
= 32644 as LPCWSTR
;
5375 pub const IDC_SIZENS
: LPCWSTR
= 32645 as LPCWSTR
;
5376 pub const IDC_SIZEALL
: LPCWSTR
= 32646 as LPCWSTR
;
5377 pub const IDC_NO
: LPCWSTR
= 32648 as LPCWSTR
;
5378 pub const IDC_HAND
: LPCWSTR
= 32649 as LPCWSTR
;
5379 pub const IDC_APPSTARTING
: LPCWSTR
= 32650 as LPCWSTR
;
5380 pub const IDC_HELP
: LPCWSTR
= 32651 as LPCWSTR
;
5382 pub fn SetSystemCursor(
5387 STRUCT
!{struct ICONINFO
{
5394 pub type PICONINFO
= *mut ICONINFO
;
5397 hInstance
: HINSTANCE
,
5401 hInstance
: HINSTANCE
,
5402 lpIconName
: LPCWSTR
,
5408 hInstance
: HINSTANCE
,
5413 lpbANDbits
: *const BYTE
,
5414 lpbXORbits
: *const BYTE
,
5419 pub fn LookupIconIdFromDirectory(
5423 pub fn LookupIconIdFromDirectoryEx(
5430 pub fn CreateIconFromResource(
5436 pub fn CreateIconFromResourceEx(
5447 pub const IMAGE_BITMAP
: UINT
= 0;
5448 pub const IMAGE_ICON
: UINT
= 1;
5449 pub const IMAGE_CURSOR
: UINT
= 2;
5450 pub const IMAGE_ENHMETAFILE
: UINT
= 3;
5451 pub const LR_DEFAULTCOLOR
: UINT
= 0x00000000;
5452 pub const LR_MONOCHROME
: UINT
= 0x00000001;
5453 pub const LR_COLOR
: UINT
= 0x00000002;
5454 pub const LR_COPYRETURNORG
: UINT
= 0x00000004;
5455 pub const LR_COPYDELETEORG
: UINT
= 0x00000008;
5456 pub const LR_LOADFROMFILE
: UINT
= 0x00000010;
5457 pub const LR_LOADTRANSPARENT
: UINT
= 0x00000020;
5458 pub const LR_DEFAULTSIZE
: UINT
= 0x00000040;
5459 pub const LR_VGACOLOR
: UINT
= 0x00000080;
5460 pub const LR_LOADMAP3DCOLORS
: UINT
= 0x00001000;
5461 pub const LR_CREATEDIBSECTION
: UINT
= 0x00002000;
5462 pub const LR_COPYFROMRESOURCE
: UINT
= 0x00004000;
5463 pub const LR_SHARED
: UINT
= 0x00008000;
5498 istepIfAniCur
: UINT
,
5499 hbrFlickerFreeDraw
: HBRUSH
,
5502 pub fn CreateIconIndirect(
5503 piconinfo
: PICONINFO
,
5510 piconinfo
: PICONINFO
,
5514 pub const IDI_APPLICATION
: LPCWSTR
= 32512 as LPCWSTR
;
5515 pub const IDI_HAND
: LPCWSTR
= 32513 as LPCWSTR
;
5516 pub const IDI_QUESTION
: LPCWSTR
= 32514 as LPCWSTR
;
5517 pub const IDI_EXCLAMATION
: LPCWSTR
= 32515 as LPCWSTR
;
5518 pub const IDI_ASTERISK
: LPCWSTR
= 32516 as LPCWSTR
;
5519 pub const IDI_WINLOGO
: LPCWSTR
= 32517 as LPCWSTR
;
5520 pub const IDI_SHIELD
: LPCWSTR
= 32518 as LPCWSTR
;
5521 pub const IDI_WARNING
: LPCWSTR
= IDI_EXCLAMATION
;
5522 pub const IDI_ERROR
: LPCWSTR
= IDI_HAND
;
5523 pub const IDI_INFORMATION
: LPCWSTR
= IDI_ASTERISK
;
5525 pub const IDOK
: c_int
= 1;
5526 pub const IDCANCEL
: c_int
= 2;
5527 pub const IDABORT
: c_int
= 3;
5528 pub const IDRETRY
: c_int
= 4;
5529 pub const IDIGNORE
: c_int
= 5;
5530 pub const IDYES
: c_int
= 6;
5531 pub const IDNO
: c_int
= 7;
5532 pub const IDCLOSE
: c_int
= 8;
5533 pub const IDHELP
: c_int
= 9;
5534 pub const IDTRYAGAIN
: c_int
= 10;
5535 pub const IDCONTINUE
: c_int
= 11;
5536 pub const IDTIMEOUT
: c_int
= 32000;
5537 pub const ES_LEFT
: DWORD
= 0x0000;
5538 pub const ES_CENTER
: DWORD
= 0x0001;
5539 pub const ES_RIGHT
: DWORD
= 0x0002;
5540 pub const ES_MULTILINE
: DWORD
= 0x0004;
5541 pub const ES_UPPERCASE
: DWORD
= 0x0008;
5542 pub const ES_LOWERCASE
: DWORD
= 0x0010;
5543 pub const ES_PASSWORD
: DWORD
= 0x0020;
5544 pub const ES_AUTOVSCROLL
: DWORD
= 0x0040;
5545 pub const ES_AUTOHSCROLL
: DWORD
= 0x0080;
5546 pub const ES_NOHIDESEL
: DWORD
= 0x0100;
5547 pub const ES_OEMCONVERT
: DWORD
= 0x0400;
5548 pub const ES_READONLY
: DWORD
= 0x0800;
5549 pub const ES_WANTRETURN
: DWORD
= 0x1000;
5550 pub const ES_NUMBER
: DWORD
= 0x2000;
5551 pub const EN_SETFOCUS
: WORD
= 0x0100;
5552 pub const EN_KILLFOCUS
: WORD
= 0x0200;
5553 pub const EN_CHANGE
: WORD
= 0x0300;
5554 pub const EN_UPDATE
: WORD
= 0x0400;
5555 pub const EN_ERRSPACE
: WORD
= 0x0500;
5556 pub const EN_MAXTEXT
: WORD
= 0x0501;
5557 pub const EN_HSCROLL
: WORD
= 0x0601;
5558 pub const EN_VSCROLL
: WORD
= 0x0602;
5559 pub const EN_ALIGN_LTR_EC
: WORD
= 0x0700;
5560 pub const EN_ALIGN_RTL_EC
: WORD
= 0x0701;
5561 pub const EC_LEFTMARGIN
: WORD
= 0x0001;
5562 pub const EC_RIGHTMARGIN
: WORD
= 0x0002;
5563 pub const EC_USEFONTINFO
: WORD
= 0xffff;
5564 pub const EMSIS_COMPOSITIONSTRING
: WORD
= 0x0001;
5565 pub const EIMES_GETCOMPSTRATONCE
: WORD
= 0x0001;
5566 pub const EIMES_CANCELCOMPSTRINFOCUS
: WORD
= 0x0002;
5567 pub const EIMES_COMPLETECOMPSTRKILLFOCUS
: WORD
= 0x0004;
5568 pub const EM_GETSEL
: WORD
= 0x00B0;
5569 pub const EM_SETSEL
: WORD
= 0x00B1;
5570 pub const EM_GETRECT
: WORD
= 0x00B2;
5571 pub const EM_SETRECT
: WORD
= 0x00B3;
5572 pub const EM_SETRECTNP
: WORD
= 0x00B4;
5573 pub const EM_SCROLL
: WORD
= 0x00B5;
5574 pub const EM_LINESCROLL
: WORD
= 0x00B6;
5575 pub const EM_SCROLLCARET
: WORD
= 0x00B7;
5576 pub const EM_GETMODIFY
: WORD
= 0x00B8;
5577 pub const EM_SETMODIFY
: WORD
= 0x00B9;
5578 pub const EM_GETLINECOUNT
: WORD
= 0x00BA;
5579 pub const EM_LINEINDEX
: WORD
= 0x00BB;
5580 pub const EM_SETHANDLE
: WORD
= 0x00BC;
5581 pub const EM_GETHANDLE
: WORD
= 0x00BD;
5582 pub const EM_GETTHUMB
: WORD
= 0x00BE;
5583 pub const EM_LINELENGTH
: WORD
= 0x00C1;
5584 pub const EM_REPLACESEL
: WORD
= 0x00C2;
5585 pub const EM_GETLINE
: WORD
= 0x00C4;
5586 pub const EM_LIMITTEXT
: WORD
= 0x00C5;
5587 pub const EM_CANUNDO
: WORD
= 0x00C6;
5588 pub const EM_UNDO
: WORD
= 0x00C7;
5589 pub const EM_FMTLINES
: WORD
= 0x00C8;
5590 pub const EM_LINEFROMCHAR
: WORD
= 0x00C9;
5591 pub const EM_SETTABSTOPS
: WORD
= 0x00CB;
5592 pub const EM_SETPASSWORDCHAR
: WORD
= 0x00CC;
5593 pub const EM_EMPTYUNDOBUFFER
: WORD
= 0x00CD;
5594 pub const EM_GETFIRSTVISIBLELINE
: WORD
= 0x00CE;
5595 pub const EM_SETREADONLY
: WORD
= 0x00CF;
5596 pub const EM_SETWORDBREAKPROC
: WORD
= 0x00D0;
5597 pub const EM_GETWORDBREAKPROC
: WORD
= 0x00D1;
5598 pub const EM_GETPASSWORDCHAR
: WORD
= 0x00D2;
5599 pub const EM_SETMARGINS
: WORD
= 0x00D3;
5600 pub const EM_GETMARGINS
: WORD
= 0x00D4;
5601 pub const EM_SETLIMITTEXT
: WORD
= EM_LIMITTEXT
;
5602 pub const EM_GETLIMITTEXT
: WORD
= 0x00D5;
5603 pub const EM_POSFROMCHAR
: WORD
= 0x00D6;
5604 pub const EM_CHARFROMPOS
: WORD
= 0x00D7;
5605 pub const EM_SETIMESTATUS
: WORD
= 0x00D8;
5606 pub const EM_GETIMESTATUS
: WORD
= 0x00D9;
5607 pub const WB_LEFT
: WORD
= 0;
5608 pub const WB_RIGHT
: WORD
= 1;
5609 pub const WB_ISDELIMITER
: WORD
= 2;
5610 pub const BN_CLICKED
: WORD
= 0;
5611 pub const BN_PAINT
: WORD
= 1;
5612 pub const BN_HILITE
: WORD
= 2;
5613 pub const BN_UNHILITE
: WORD
= 3;
5614 pub const BN_DISABLE
: WORD
= 4;
5615 pub const BN_DOUBLECLICKED
: WORD
= 5;
5616 pub const BN_PUSHED
: WORD
= BN_HILITE
;
5617 pub const BN_UNPUSHED
: WORD
= BN_UNHILITE
;
5618 pub const BN_DBLCLK
: WORD
= BN_DOUBLECLICKED
;
5619 pub const BN_SETFOCUS
: WORD
= 6;
5620 pub const BN_KILLFOCUS
: WORD
= 7;
5621 pub const BS_PUSHBUTTON
: DWORD
= 0x00000000;
5622 pub const BS_DEFPUSHBUTTON
: DWORD
= 0x00000001;
5623 pub const BS_CHECKBOX
: DWORD
= 0x00000002;
5624 pub const BS_AUTOCHECKBOX
: DWORD
= 0x00000003;
5625 pub const BS_RADIOBUTTON
: DWORD
= 0x00000004;
5626 pub const BS_3STATE
: DWORD
= 0x00000005;
5627 pub const BS_AUTO3STATE
: DWORD
= 0x00000006;
5628 pub const BS_GROUPBOX
: DWORD
= 0x00000007;
5629 pub const BS_USERBUTTON
: DWORD
= 0x00000008;
5630 pub const BS_AUTORADIOBUTTON
: DWORD
= 0x00000009;
5631 pub const BS_PUSHBOX
: DWORD
= 0x0000000A;
5632 pub const BS_OWNERDRAW
: DWORD
= 0x0000000B;
5633 pub const BS_TYPEMASK
: DWORD
= 0x0000000F;
5634 pub const BS_LEFTTEXT
: DWORD
= 0x00000020;
5635 pub const BS_TEXT
: DWORD
= 0x00000000;
5636 pub const BS_ICON
: DWORD
= 0x00000040;
5637 pub const BS_BITMAP
: DWORD
= 0x00000080;
5638 pub const BS_LEFT
: DWORD
= 0x00000100;
5639 pub const BS_RIGHT
: DWORD
= 0x00000200;
5640 pub const BS_CENTER
: DWORD
= 0x00000300;
5641 pub const BS_TOP
: DWORD
= 0x00000400;
5642 pub const BS_BOTTOM
: DWORD
= 0x00000800;
5643 pub const BS_VCENTER
: DWORD
= 0x00000C00;
5644 pub const BS_PUSHLIKE
: DWORD
= 0x00001000;
5645 pub const BS_MULTILINE
: DWORD
= 0x00002000;
5646 pub const BS_NOTIFY
: DWORD
= 0x00004000;
5647 pub const BS_FLAT
: DWORD
= 0x00008000;
5648 pub const BS_RIGHTBUTTON
: DWORD
= BS_LEFTTEXT
;
5649 pub const BM_GETCHECK
: UINT
= 0x00F0;
5650 pub const BM_SETCHECK
: UINT
= 0x00F1;
5651 pub const BM_GETSTATE
: UINT
= 0x00F2;
5652 pub const BM_SETSTATE
: UINT
= 0x00F3;
5653 pub const BM_SETSTYLE
: UINT
= 0x00F4;
5654 pub const BM_CLICK
: UINT
= 0x00F5;
5655 pub const BM_GETIMAGE
: UINT
= 0x00F6;
5656 pub const BM_SETIMAGE
: UINT
= 0x00F7;
5657 pub const BM_SETDONTCLICK
: UINT
= 0x00F8;
5658 pub const BST_UNCHECKED
: WPARAM
= 0x0000;
5659 pub const BST_CHECKED
: WPARAM
= 0x0001;
5660 pub const BST_INDETERMINATE
: WPARAM
= 0x0002;
5661 pub const BST_PUSHED
: LRESULT
= 0x0004;
5662 pub const BST_FOCUS
: LRESULT
= 0x0008;
5663 pub const SS_LEFT
: DWORD
= 0x00000000;
5664 pub const SS_CENTER
: DWORD
= 0x00000001;
5665 pub const SS_RIGHT
: DWORD
= 0x00000002;
5666 pub const SS_ICON
: DWORD
= 0x00000003;
5667 pub const SS_BLACKRECT
: DWORD
= 0x00000004;
5668 pub const SS_GRAYRECT
: DWORD
= 0x00000005;
5669 pub const SS_WHITERECT
: DWORD
= 0x00000006;
5670 pub const SS_BLACKFRAME
: DWORD
= 0x00000007;
5671 pub const SS_GRAYFRAME
: DWORD
= 0x00000008;
5672 pub const SS_WHITEFRAME
: DWORD
= 0x00000009;
5673 pub const SS_USERITEM
: DWORD
= 0x0000000A;
5674 pub const SS_SIMPLE
: DWORD
= 0x0000000B;
5675 pub const SS_LEFTNOWORDWRAP
: DWORD
= 0x0000000C;
5676 pub const SS_OWNERDRAW
: DWORD
= 0x0000000D;
5677 pub const SS_BITMAP
: DWORD
= 0x0000000E;
5678 pub const SS_ENHMETAFILE
: DWORD
= 0x0000000F;
5679 pub const SS_ETCHEDHORZ
: DWORD
= 0x00000010;
5680 pub const SS_ETCHEDVERT
: DWORD
= 0x00000011;
5681 pub const SS_ETCHEDFRAME
: DWORD
= 0x00000012;
5682 pub const SS_TYPEMASK
: DWORD
= 0x0000001F;
5683 pub const SS_REALSIZECONTROL
: DWORD
= 0x00000040;
5684 pub const SS_NOPREFIX
: DWORD
= 0x00000080;
5685 pub const SS_NOTIFY
: DWORD
= 0x00000100;
5686 pub const SS_CENTERIMAGE
: DWORD
= 0x00000200;
5687 pub const SS_RIGHTJUST
: DWORD
= 0x00000400;
5688 pub const SS_REALSIZEIMAGE
: DWORD
= 0x00000800;
5689 pub const SS_SUNKEN
: DWORD
= 0x00001000;
5690 pub const SS_EDITCONTROL
: DWORD
= 0x00002000;
5691 pub const SS_ENDELLIPSIS
: DWORD
= 0x00004000;
5692 pub const SS_PATHELLIPSIS
: DWORD
= 0x00008000;
5693 pub const SS_WORDELLIPSIS
: DWORD
= 0x0000C000;
5694 pub const SS_ELLIPSISMASK
: DWORD
= 0x0000C000;
5695 pub const STM_SETICON
: UINT
= 0x0170;
5696 pub const STM_GETICON
: UINT
= 0x0171;
5697 pub const STM_SETIMAGE
: UINT
= 0x0172;
5698 pub const STM_GETIMAGE
: UINT
= 0x0173;
5699 pub const STN_CLICKED
: WORD
= 0;
5700 pub const STN_DBLCLK
: WORD
= 1;
5701 pub const STN_ENABLE
: WORD
= 2;
5702 pub const STN_DISABLE
: WORD
= 3;
5703 pub const STM_MSGMAX
: WORD
= 0x0174;
5706 pub fn IsDialogMessageA(
5710 pub fn IsDialogMessageW(
5714 pub fn MapDialogRect(
5722 nIDStaticPath
: c_int
,
5729 nIDStaticPath
: c_int
,
5735 pub fn DlgDirSelectExA(
5741 pub fn DlgDirSelectExW(
5747 pub fn DlgDirListComboBoxA(
5751 nIDStaticPath
: c_int
,
5754 pub fn DlgDirListComboBoxW(
5758 nIDStaticPath
: c_int
,
5761 pub fn DlgDirSelectComboBoxExA(
5767 pub fn DlgDirSelectComboBoxExW(
5774 pub const DS_ABSALIGN
: DWORD
= 0x01;
5775 pub const DS_SYSMODAL
: DWORD
= 0x02;
5776 pub const DS_LOCALEDIT
: DWORD
= 0x20;
5777 pub const DS_SETFONT
: DWORD
= 0x40;
5778 pub const DS_MODALFRAME
: DWORD
= 0x80;
5779 pub const DS_NOIDLEMSG
: DWORD
= 0x100;
5780 pub const DS_SETFOREGROUND
: DWORD
= 0x200;
5781 pub const DS_3DLOOK
: DWORD
= 0x0004;
5782 pub const DS_FIXEDSYS
: DWORD
= 0x0008;
5783 pub const DS_NOFAILCREATE
: DWORD
= 0x0010;
5784 pub const DS_CONTROL
: DWORD
= 0x0400;
5785 pub const DS_CENTER
: DWORD
= 0x0800;
5786 pub const DS_CENTERMOUSE
: DWORD
= 0x1000;
5787 pub const DS_CONTEXTHELP
: DWORD
= 0x2000;
5788 pub const DS_SHELLFONT
: DWORD
= DS_SETFONT
| DS_FIXEDSYS
;
5789 pub const DS_USEPIXELS
: DWORD
= 0x8000;
5790 pub const DM_GETDEFID
: UINT
= WM_USER
+ 0;
5791 pub const DM_SETDEFID
: UINT
= WM_USER
+ 1;
5792 pub const DM_REPOSITION
: UINT
= WM_USER
+ 2;
5793 pub const DC_HASDEFID
: WORD
= 0x534B;
5794 pub const DLGC_WANTARROWS
: LRESULT
= 0x0001;
5795 pub const DLGC_WANTTAB
: LRESULT
= 0x0002;
5796 pub const DLGC_WANTALLKEYS
: LRESULT
= 0x0004;
5797 pub const DLGC_WANTMESSAGE
: LRESULT
= 0x0004;
5798 pub const DLGC_HASSETSEL
: LRESULT
= 0x0008;
5799 pub const DLGC_DEFPUSHBUTTON
: LRESULT
= 0x0010;
5800 pub const DLGC_UNDEFPUSHBUTTON
: LRESULT
= 0x0020;
5801 pub const DLGC_RADIOBUTTON
: LRESULT
= 0x0040;
5802 pub const DLGC_WANTCHARS
: LRESULT
= 0x0080;
5803 pub const DLGC_STATIC
: LRESULT
= 0x0100;
5804 pub const DLGC_BUTTON
: LRESULT
= 0x2000;
5805 pub const LB_OKAY
: LRESULT
= 0;
5806 pub const LB_ERR
: LRESULT
= -1;
5807 pub const LB_ERRSPACE
: LRESULT
= -2;
5808 pub const LBN_ERRSPACE
: WORD
= -2i16 as u16;
5809 pub const LBN_SELCHANGE
: WORD
= 1;
5810 pub const LBN_DBLCLK
: WORD
= 2;
5811 pub const LBN_SELCANCEL
: WORD
= 3;
5812 pub const LBN_SETFOCUS
: WORD
= 4;
5813 pub const LBN_KILLFOCUS
: WORD
= 5;
5814 pub const LB_ADDSTRING
: UINT
= 0x0180;
5815 pub const LB_INSERTSTRING
: UINT
= 0x0181;
5816 pub const LB_DELETESTRING
: UINT
= 0x0182;
5817 pub const LB_SELITEMRANGEEX
: UINT
= 0x0183;
5818 pub const LB_RESETCONTENT
: UINT
= 0x0184;
5819 pub const LB_SETSEL
: UINT
= 0x0185;
5820 pub const LB_SETCURSEL
: UINT
= 0x0186;
5821 pub const LB_GETSEL
: UINT
= 0x0187;
5822 pub const LB_GETCURSEL
: UINT
= 0x0188;
5823 pub const LB_GETTEXT
: UINT
= 0x0189;
5824 pub const LB_GETTEXTLEN
: UINT
= 0x018A;
5825 pub const LB_GETCOUNT
: UINT
= 0x018B;
5826 pub const LB_SELECTSTRING
: UINT
= 0x018C;
5827 pub const LB_DIR
: UINT
= 0x018D;
5828 pub const LB_GETTOPINDEX
: UINT
= 0x018E;
5829 pub const LB_FINDSTRING
: UINT
= 0x018F;
5830 pub const LB_GETSELCOUNT
: UINT
= 0x0190;
5831 pub const LB_GETSELITEMS
: UINT
= 0x0191;
5832 pub const LB_SETTABSTOPS
: UINT
= 0x0192;
5833 pub const LB_GETHORIZONTALEXTENT
: UINT
= 0x0193;
5834 pub const LB_SETHORIZONTALEXTENT
: UINT
= 0x0194;
5835 pub const LB_SETCOLUMNWIDTH
: UINT
= 0x0195;
5836 pub const LB_ADDFILE
: UINT
= 0x0196;
5837 pub const LB_SETTOPINDEX
: UINT
= 0x0197;
5838 pub const LB_GETITEMRECT
: UINT
= 0x0198;
5839 pub const LB_GETITEMDATA
: UINT
= 0x0199;
5840 pub const LB_SETITEMDATA
: UINT
= 0x019A;
5841 pub const LB_SELITEMRANGE
: UINT
= 0x019B;
5842 pub const LB_SETANCHORINDEX
: UINT
= 0x019C;
5843 pub const LB_GETANCHORINDEX
: UINT
= 0x019D;
5844 pub const LB_SETCARETINDEX
: UINT
= 0x019E;
5845 pub const LB_GETCARETINDEX
: UINT
= 0x019F;
5846 pub const LB_SETITEMHEIGHT
: UINT
= 0x01A0;
5847 pub const LB_GETITEMHEIGHT
: UINT
= 0x01A1;
5848 pub const LB_FINDSTRINGEXACT
: UINT
= 0x01A2;
5849 pub const LB_SETLOCALE
: UINT
= 0x01A5;
5850 pub const LB_GETLOCALE
: UINT
= 0x01A6;
5851 pub const LB_SETCOUNT
: UINT
= 0x01A7;
5852 pub const LB_INITSTORAGE
: UINT
= 0x01A8;
5853 pub const LB_ITEMFROMPOINT
: UINT
= 0x01A9;
5854 pub const LB_MULTIPLEADDSTRING
: UINT
= 0x01B1;
5855 pub const LB_GETLISTBOXINFO
: UINT
= 0x01B2;
5856 pub const LB_MSGMAX
: UINT
= 0x01B3;
5857 pub const LBS_NOTIFY
: DWORD
= 0x0001;
5858 pub const LBS_SORT
: DWORD
= 0x0002;
5859 pub const LBS_NOREDRAW
: DWORD
= 0x0004;
5860 pub const LBS_MULTIPLESEL
: DWORD
= 0x0008;
5861 pub const LBS_OWNERDRAWFIXED
: DWORD
= 0x0010;
5862 pub const LBS_OWNERDRAWVARIABLE
: DWORD
= 0x0020;
5863 pub const LBS_HASSTRINGS
: DWORD
= 0x0040;
5864 pub const LBS_USETABSTOPS
: DWORD
= 0x0080;
5865 pub const LBS_NOINTEGRALHEIGHT
: DWORD
= 0x0100;
5866 pub const LBS_MULTICOLUMN
: DWORD
= 0x0200;
5867 pub const LBS_WANTKEYBOARDINPUT
: DWORD
= 0x0400;
5868 pub const LBS_EXTENDEDSEL
: DWORD
= 0x0800;
5869 pub const LBS_DISABLENOSCROLL
: DWORD
= 0x1000;
5870 pub const LBS_NODATA
: DWORD
= 0x2000;
5871 pub const LBS_NOSEL
: DWORD
= 0x4000;
5872 pub const LBS_COMBOBOX
: DWORD
= 0x8000;
5873 pub const LBS_STANDARD
: DWORD
= LBS_NOTIFY
| LBS_SORT
| WS_VSCROLL
| WS_BORDER
;
5874 pub const CB_OKAY
: LRESULT
= 0;
5875 pub const CB_ERR
: LRESULT
= -1;
5876 pub const CB_ERRSPACE
: LRESULT
= -2;
5877 pub const CBN_ERRSPACE
: WORD
= -1i16 as u16;
5878 pub const CBN_SELCHANGE
: WORD
= 1;
5879 pub const CBN_DBLCLK
: WORD
= 2;
5880 pub const CBN_SETFOCUS
: WORD
= 3;
5881 pub const CBN_KILLFOCUS
: WORD
= 4;
5882 pub const CBN_EDITCHANGE
: WORD
= 5;
5883 pub const CBN_EDITUPDATE
: WORD
= 6;
5884 pub const CBN_DROPDOWN
: WORD
= 7;
5885 pub const CBN_CLOSEUP
: WORD
= 8;
5886 pub const CBN_SELENDOK
: WORD
= 9;
5887 pub const CBN_SELENDCANCEL
: WORD
= 10;
5888 pub const CBS_SIMPLE
: DWORD
= 0x0001;
5889 pub const CBS_DROPDOWN
: DWORD
= 0x0002;
5890 pub const CBS_DROPDOWNLIST
: DWORD
= 0x0003;
5891 pub const CBS_OWNERDRAWFIXED
: DWORD
= 0x0010;
5892 pub const CBS_OWNERDRAWVARIABLE
: DWORD
= 0x0020;
5893 pub const CBS_AUTOHSCROLL
: DWORD
= 0x0040;
5894 pub const CBS_OEMCONVERT
: DWORD
= 0x0080;
5895 pub const CBS_SORT
: DWORD
= 0x0100;
5896 pub const CBS_HASSTRINGS
: DWORD
= 0x0200;
5897 pub const CBS_NOINTEGRALHEIGHT
: DWORD
= 0x0400;
5898 pub const CBS_DISABLENOSCROLL
: DWORD
= 0x0800;
5899 pub const CBS_UPPERCASE
: DWORD
= 0x2000;
5900 pub const CBS_LOWERCASE
: DWORD
= 0x4000;
5902 pub const CB_GETEDITSEL
: UINT
= 0x0140;
5903 pub const CB_LIMITTEXT
: UINT
= 0x0141;
5904 pub const CB_SETEDITSEL
: UINT
= 0x0142;
5905 pub const CB_ADDSTRING
: UINT
= 0x0143;
5906 pub const CB_DELETESTRING
: UINT
= 0x0144;
5907 pub const CB_DIR
: UINT
= 0x0145;
5908 pub const CB_GETCOUNT
: UINT
= 0x0146;
5909 pub const CB_GETCURSEL
: UINT
= 0x0147;
5910 pub const CB_GETLBTEXT
: UINT
= 0x0148;
5911 pub const CB_GETLBTEXTLEN
: UINT
= 0x0149;
5912 pub const CB_INSERTSTRING
: UINT
= 0x014A;
5913 pub const CB_RESETCONTENT
: UINT
= 0x014B;
5914 pub const CB_FINDSTRING
: UINT
= 0x014C;
5915 pub const CB_SELECTSTRING
: UINT
= 0x014D;
5916 pub const CB_SETCURSEL
: UINT
= 0x014E;
5917 pub const CB_SHOWDROPDOWN
: UINT
= 0x014F;
5918 pub const CB_GETITEMDATA
: UINT
= 0x0150;
5919 pub const CB_SETITEMDATA
: UINT
= 0x0151;
5920 pub const CB_GETDROPPEDCONTROLRECT
: UINT
= 0x0152;
5921 pub const CB_SETITEMHEIGHT
: UINT
= 0x0153;
5922 pub const CB_GETITEMHEIGHT
: UINT
= 0x0154;
5923 pub const CB_SETEXTENDEDUI
: UINT
= 0x0155;
5924 pub const CB_GETEXTENDEDUI
: UINT
= 0x0156;
5925 pub const CB_GETDROPPEDSTATE
: UINT
= 0x0157;
5926 pub const CB_FINDSTRINGEXACT
: UINT
= 0x0158;
5927 pub const CB_SETLOCALE
: UINT
= 0x0159;
5928 pub const CB_GETLOCALE
: UINT
= 0x015A;
5929 pub const CB_GETTOPINDEX
: UINT
= 0x015b;
5930 pub const CB_SETTOPINDEX
: UINT
= 0x015c;
5931 pub const CB_GETHORIZONTALEXTENT
: UINT
= 0x015d;
5932 pub const CB_SETHORIZONTALEXTENT
: UINT
= 0x015e;
5933 pub const CB_GETDROPPEDWIDTH
: UINT
= 0x015f;
5934 pub const CB_SETDROPPEDWIDTH
: UINT
= 0x0160;
5935 pub const CB_INITSTORAGE
: UINT
= 0x0161;
5936 pub const CB_MULTIPLEADDSTRING
: UINT
= 0x0163;
5937 pub const CB_GETCOMBOBOXINFO
: UINT
= 0x0164;
5938 pub const CB_MSGMAX
: UINT
= 0x0165;
5939 pub const SBS_HORZ
: DWORD
= 0x0000;
5940 pub const SBS_VERT
: DWORD
= 0x0001;
5941 pub const SBS_TOPALIGN
: DWORD
= 0x0002;
5942 pub const SBS_LEFTALIGN
: DWORD
= 0x0002;
5943 pub const SBS_BOTTOMALIGN
: DWORD
= 0x0004;
5944 pub const SBS_RIGHTALIGN
: DWORD
= 0x0004;
5945 pub const SBS_SIZEBOXTOPLEFTALIGN
: DWORD
= 0x0002;
5946 pub const SBS_SIZEBOXBOTTOMRIGHTALIGN
: DWORD
= 0x0004;
5947 pub const SBS_SIZEBOX
: DWORD
= 0x0008;
5948 pub const SBS_SIZEGRIP
: DWORD
= 0x0010;
5949 pub const SBM_SETPOS
: UINT
= 0x00E0;
5950 pub const SBM_GETPOS
: UINT
= 0x00E1;
5951 pub const SBM_SETRANGE
: UINT
= 0x00E2;
5952 pub const SBM_SETRANGEREDRAW
: UINT
= 0x00E6;
5953 pub const SBM_GETRANGE
: UINT
= 0x00E3;
5954 pub const SBM_ENABLE_ARROWS
: UINT
= 0x00E4;
5955 pub const SBM_SETSCROLLINFO
: UINT
= 0x00E9;
5956 pub const SBM_GETSCROLLINFO
: UINT
= 0x00EA;
5957 pub const SBM_GETSCROLLBARINFO
: UINT
= 0x00EB;
5958 pub const SIF_RANGE
: UINT
= 0x0001;
5959 pub const SIF_PAGE
: UINT
= 0x0002;
5960 pub const SIF_POS
: UINT
= 0x0004;
5961 pub const SIF_DISABLENOSCROLL
: UINT
= 0x0008;
5962 pub const SIF_TRACKPOS
: UINT
= 0x0010;
5963 pub const SIF_ALL
: UINT
= SIF_RANGE
| SIF_PAGE
| SIF_POS
| SIF_TRACKPOS
;
5964 STRUCT
!{struct SCROLLINFO
{
5973 pub type LPSCROLLINFO
= *mut SCROLLINFO
;
5974 pub type LPCSCROLLINFO
= *const SCROLLINFO
;
5976 pub fn SetScrollInfo(
5979 lpsi
: *const SCROLLINFO
,
5982 pub fn GetScrollInfo(
5985 lpsi
: *mut SCROLLINFO
,
5988 pub const MDITILE_VERTICAL
: UINT
= 0x0000;
5989 pub const MDITILE_HORIZONTAL
: UINT
= 0x0001;
5990 pub const MDITILE_SKIPDISABLED
: UINT
= 0x0002;
5991 pub const MDITILE_ZORDER
: UINT
= 0x0004;
5994 pub fn DefFrameProcA(
5996 hwndMDIClient
: HWND
,
6001 pub fn DefFrameProcW(
6003 hwndMDIClient
: HWND
,
6008 pub fn DefMDIChildProcA(
6014 pub fn DefMDIChildProcW(
6020 pub fn ArrangeIconicWindows(
6023 pub fn CreateMDIWindowA(
6024 lpClassName
: LPCSTR
,
6025 lpWindowName
: LPCSTR
,
6032 hInstance
: HINSTANCE
,
6035 pub fn CreateMDIWindowW(
6036 lpClassName
: LPCWSTR
,
6037 lpWindowName
: LPCWSTR
,
6044 hInstance
: HINSTANCE
,
6047 pub fn CascadeWindows(
6050 lpRect
: *const RECT
,
6052 lpKids
: *const HWND
,
6071 pub const SPI_GETBEEP
: UINT
= 0x0001;
6072 pub const SPI_SETBEEP
: UINT
= 0x0002;
6073 pub const SPI_GETMOUSE
: UINT
= 0x0003;
6074 pub const SPI_SETMOUSE
: UINT
= 0x0004;
6075 pub const SPI_GETBORDER
: UINT
= 0x0005;
6076 pub const SPI_SETBORDER
: UINT
= 0x0006;
6077 pub const SPI_GETKEYBOARDSPEED
: UINT
= 0x000A;
6078 pub const SPI_SETKEYBOARDSPEED
: UINT
= 0x000B;
6079 pub const SPI_LANGDRIVER
: UINT
= 0x000C;
6080 pub const SPI_ICONHORIZONTALSPACING
: UINT
= 0x000D;
6081 pub const SPI_GETSCREENSAVETIMEOUT
: UINT
= 0x000E;
6082 pub const SPI_SETSCREENSAVETIMEOUT
: UINT
= 0x000F;
6083 pub const SPI_GETSCREENSAVEACTIVE
: UINT
= 0x0010;
6084 pub const SPI_SETSCREENSAVEACTIVE
: UINT
= 0x0011;
6085 pub const SPI_GETGRIDGRANULARITY
: UINT
= 0x0012;
6086 pub const SPI_SETGRIDGRANULARITY
: UINT
= 0x0013;
6087 pub const SPI_SETDESKWALLPAPER
: UINT
= 0x0014;
6088 pub const SPI_SETDESKPATTERN
: UINT
= 0x0015;
6089 pub const SPI_GETKEYBOARDDELAY
: UINT
= 0x0016;
6090 pub const SPI_SETKEYBOARDDELAY
: UINT
= 0x0017;
6091 pub const SPI_ICONVERTICALSPACING
: UINT
= 0x0018;
6092 pub const SPI_GETICONTITLEWRAP
: UINT
= 0x0019;
6093 pub const SPI_SETICONTITLEWRAP
: UINT
= 0x001A;
6094 pub const SPI_GETMENUDROPALIGNMENT
: UINT
= 0x001B;
6095 pub const SPI_SETMENUDROPALIGNMENT
: UINT
= 0x001C;
6096 pub const SPI_SETDOUBLECLKWIDTH
: UINT
= 0x001D;
6097 pub const SPI_SETDOUBLECLKHEIGHT
: UINT
= 0x001E;
6098 pub const SPI_GETICONTITLELOGFONT
: UINT
= 0x001F;
6099 pub const SPI_SETDOUBLECLICKTIME
: UINT
= 0x0020;
6100 pub const SPI_SETMOUSEBUTTONSWAP
: UINT
= 0x0021;
6101 pub const SPI_SETICONTITLELOGFONT
: UINT
= 0x0022;
6102 pub const SPI_GETFASTTASKSWITCH
: UINT
= 0x0023;
6103 pub const SPI_SETFASTTASKSWITCH
: UINT
= 0x0024;
6104 pub const SPI_SETDRAGFULLWINDOWS
: UINT
= 0x0025;
6105 pub const SPI_GETDRAGFULLWINDOWS
: UINT
= 0x0026;
6106 pub const SPI_GETNONCLIENTMETRICS
: UINT
= 0x0029;
6107 pub const SPI_SETNONCLIENTMETRICS
: UINT
= 0x002A;
6108 pub const SPI_GETMINIMIZEDMETRICS
: UINT
= 0x002B;
6109 pub const SPI_SETMINIMIZEDMETRICS
: UINT
= 0x002C;
6110 pub const SPI_GETICONMETRICS
: UINT
= 0x002D;
6111 pub const SPI_SETICONMETRICS
: UINT
= 0x002E;
6112 pub const SPI_SETWORKAREA
: UINT
= 0x002F;
6113 pub const SPI_GETWORKAREA
: UINT
= 0x0030;
6114 pub const SPI_SETPENWINDOWS
: UINT
= 0x0031;
6115 pub const SPI_GETHIGHCONTRAST
: UINT
= 0x0042;
6116 pub const SPI_SETHIGHCONTRAST
: UINT
= 0x0043;
6117 pub const SPI_GETKEYBOARDPREF
: UINT
= 0x0044;
6118 pub const SPI_SETKEYBOARDPREF
: UINT
= 0x0045;
6119 pub const SPI_GETSCREENREADER
: UINT
= 0x0046;
6120 pub const SPI_SETSCREENREADER
: UINT
= 0x0047;
6121 pub const SPI_GETANIMATION
: UINT
= 0x0048;
6122 pub const SPI_SETANIMATION
: UINT
= 0x0049;
6123 pub const SPI_GETFONTSMOOTHING
: UINT
= 0x004A;
6124 pub const SPI_SETFONTSMOOTHING
: UINT
= 0x004B;
6125 pub const SPI_SETDRAGWIDTH
: UINT
= 0x004C;
6126 pub const SPI_SETDRAGHEIGHT
: UINT
= 0x004D;
6127 pub const SPI_SETHANDHELD
: UINT
= 0x004E;
6128 pub const SPI_GETLOWPOWERTIMEOUT
: UINT
= 0x004F;
6129 pub const SPI_GETPOWEROFFTIMEOUT
: UINT
= 0x0050;
6130 pub const SPI_SETLOWPOWERTIMEOUT
: UINT
= 0x0051;
6131 pub const SPI_SETPOWEROFFTIMEOUT
: UINT
= 0x0052;
6132 pub const SPI_GETLOWPOWERACTIVE
: UINT
= 0x0053;
6133 pub const SPI_GETPOWEROFFACTIVE
: UINT
= 0x0054;
6134 pub const SPI_SETLOWPOWERACTIVE
: UINT
= 0x0055;
6135 pub const SPI_SETPOWEROFFACTIVE
: UINT
= 0x0056;
6136 pub const SPI_SETCURSORS
: UINT
= 0x0057;
6137 pub const SPI_SETICONS
: UINT
= 0x0058;
6138 pub const SPI_GETDEFAULTINPUTLANG
: UINT
= 0x0059;
6139 pub const SPI_SETDEFAULTINPUTLANG
: UINT
= 0x005A;
6140 pub const SPI_SETLANGTOGGLE
: UINT
= 0x005B;
6141 pub const SPI_GETWINDOWSEXTENSION
: UINT
= 0x005C;
6142 pub const SPI_SETMOUSETRAILS
: UINT
= 0x005D;
6143 pub const SPI_GETMOUSETRAILS
: UINT
= 0x005E;
6144 pub const SPI_SETSCREENSAVERRUNNING
: UINT
= 0x0061;
6145 pub const SPI_SCREENSAVERRUNNING
: UINT
= SPI_SETSCREENSAVERRUNNING
;
6146 pub const SPI_GETFILTERKEYS
: UINT
= 0x0032;
6147 pub const SPI_SETFILTERKEYS
: UINT
= 0x0033;
6148 pub const SPI_GETTOGGLEKEYS
: UINT
= 0x0034;
6149 pub const SPI_SETTOGGLEKEYS
: UINT
= 0x0035;
6150 pub const SPI_GETMOUSEKEYS
: UINT
= 0x0036;
6151 pub const SPI_SETMOUSEKEYS
: UINT
= 0x0037;
6152 pub const SPI_GETSHOWSOUNDS
: UINT
= 0x0038;
6153 pub const SPI_SETSHOWSOUNDS
: UINT
= 0x0039;
6154 pub const SPI_GETSTICKYKEYS
: UINT
= 0x003A;
6155 pub const SPI_SETSTICKYKEYS
: UINT
= 0x003B;
6156 pub const SPI_GETACCESSTIMEOUT
: UINT
= 0x003C;
6157 pub const SPI_SETACCESSTIMEOUT
: UINT
= 0x003D;
6158 pub const SPI_GETSERIALKEYS
: UINT
= 0x003E;
6159 pub const SPI_SETSERIALKEYS
: UINT
= 0x003F;
6160 pub const SPI_GETSOUNDSENTRY
: UINT
= 0x0040;
6161 pub const SPI_SETSOUNDSENTRY
: UINT
= 0x0041;
6162 pub const SPI_GETSNAPTODEFBUTTON
: UINT
= 0x005F;
6163 pub const SPI_SETSNAPTODEFBUTTON
: UINT
= 0x0060;
6164 pub const SPI_GETMOUSEHOVERWIDTH
: UINT
= 0x0062;
6165 pub const SPI_SETMOUSEHOVERWIDTH
: UINT
= 0x0063;
6166 pub const SPI_GETMOUSEHOVERHEIGHT
: UINT
= 0x0064;
6167 pub const SPI_SETMOUSEHOVERHEIGHT
: UINT
= 0x0065;
6168 pub const SPI_GETMOUSEHOVERTIME
: UINT
= 0x0066;
6169 pub const SPI_SETMOUSEHOVERTIME
: UINT
= 0x0067;
6170 pub const SPI_GETWHEELSCROLLLINES
: UINT
= 0x0068;
6171 pub const SPI_SETWHEELSCROLLLINES
: UINT
= 0x0069;
6172 pub const SPI_GETMENUSHOWDELAY
: UINT
= 0x006A;
6173 pub const SPI_SETMENUSHOWDELAY
: UINT
= 0x006B;
6174 pub const SPI_GETWHEELSCROLLCHARS
: UINT
= 0x006C;
6175 pub const SPI_SETWHEELSCROLLCHARS
: UINT
= 0x006D;
6176 pub const SPI_GETSHOWIMEUI
: UINT
= 0x006E;
6177 pub const SPI_SETSHOWIMEUI
: UINT
= 0x006F;
6178 pub const SPI_GETMOUSESPEED
: UINT
= 0x0070;
6179 pub const SPI_SETMOUSESPEED
: UINT
= 0x0071;
6180 pub const SPI_GETSCREENSAVERRUNNING
: UINT
= 0x0072;
6181 pub const SPI_GETDESKWALLPAPER
: UINT
= 0x0073;
6182 pub const SPI_GETAUDIODESCRIPTION
: UINT
= 0x0074;
6183 pub const SPI_SETAUDIODESCRIPTION
: UINT
= 0x0075;
6184 pub const SPI_GETSCREENSAVESECURE
: UINT
= 0x0076;
6185 pub const SPI_SETSCREENSAVESECURE
: UINT
= 0x0077;
6186 pub const SPI_GETHUNGAPPTIMEOUT
: UINT
= 0x0078;
6187 pub const SPI_SETHUNGAPPTIMEOUT
: UINT
= 0x0079;
6188 pub const SPI_GETWAITTOKILLTIMEOUT
: UINT
= 0x007A;
6189 pub const SPI_SETWAITTOKILLTIMEOUT
: UINT
= 0x007B;
6190 pub const SPI_GETWAITTOKILLSERVICETIMEOUT
: UINT
= 0x007C;
6191 pub const SPI_SETWAITTOKILLSERVICETIMEOUT
: UINT
= 0x007D;
6192 pub const SPI_GETMOUSEDOCKTHRESHOLD
: UINT
= 0x007E;
6193 pub const SPI_SETMOUSEDOCKTHRESHOLD
: UINT
= 0x007F;
6194 pub const SPI_GETPENDOCKTHRESHOLD
: UINT
= 0x0080;
6195 pub const SPI_SETPENDOCKTHRESHOLD
: UINT
= 0x0081;
6196 pub const SPI_GETWINARRANGING
: UINT
= 0x0082;
6197 pub const SPI_SETWINARRANGING
: UINT
= 0x0083;
6198 pub const SPI_GETMOUSEDRAGOUTTHRESHOLD
: UINT
= 0x0084;
6199 pub const SPI_SETMOUSEDRAGOUTTHRESHOLD
: UINT
= 0x0085;
6200 pub const SPI_GETPENDRAGOUTTHRESHOLD
: UINT
= 0x0086;
6201 pub const SPI_SETPENDRAGOUTTHRESHOLD
: UINT
= 0x0087;
6202 pub const SPI_GETMOUSESIDEMOVETHRESHOLD
: UINT
= 0x0088;
6203 pub const SPI_SETMOUSESIDEMOVETHRESHOLD
: UINT
= 0x0089;
6204 pub const SPI_GETPENSIDEMOVETHRESHOLD
: UINT
= 0x008A;
6205 pub const SPI_SETPENSIDEMOVETHRESHOLD
: UINT
= 0x008B;
6206 pub const SPI_GETDRAGFROMMAXIMIZE
: UINT
= 0x008C;
6207 pub const SPI_SETDRAGFROMMAXIMIZE
: UINT
= 0x008D;
6208 pub const SPI_GETSNAPSIZING
: UINT
= 0x008E;
6209 pub const SPI_SETSNAPSIZING
: UINT
= 0x008F;
6210 pub const SPI_GETDOCKMOVING
: UINT
= 0x0090;
6211 pub const SPI_SETDOCKMOVING
: UINT
= 0x0091;
6212 pub const SPI_GETACTIVEWINDOWTRACKING
: UINT
= 0x1000;
6213 pub const SPI_SETACTIVEWINDOWTRACKING
: UINT
= 0x1001;
6214 pub const SPI_GETMENUANIMATION
: UINT
= 0x1002;
6215 pub const SPI_SETMENUANIMATION
: UINT
= 0x1003;
6216 pub const SPI_GETCOMBOBOXANIMATION
: UINT
= 0x1004;
6217 pub const SPI_SETCOMBOBOXANIMATION
: UINT
= 0x1005;
6218 pub const SPI_GETLISTBOXSMOOTHSCROLLING
: UINT
= 0x1006;
6219 pub const SPI_SETLISTBOXSMOOTHSCROLLING
: UINT
= 0x1007;
6220 pub const SPI_GETGRADIENTCAPTIONS
: UINT
= 0x1008;
6221 pub const SPI_SETGRADIENTCAPTIONS
: UINT
= 0x1009;
6222 pub const SPI_GETKEYBOARDCUES
: UINT
= 0x100A;
6223 pub const SPI_SETKEYBOARDCUES
: UINT
= 0x100B;
6224 pub const SPI_GETMENUUNDERLINES
: UINT
= SPI_GETKEYBOARDCUES
;
6225 pub const SPI_SETMENUUNDERLINES
: UINT
= SPI_SETKEYBOARDCUES
;
6226 pub const SPI_GETACTIVEWNDTRKZORDER
: UINT
= 0x100C;
6227 pub const SPI_SETACTIVEWNDTRKZORDER
: UINT
= 0x100D;
6228 pub const SPI_GETHOTTRACKING
: UINT
= 0x100E;
6229 pub const SPI_SETHOTTRACKING
: UINT
= 0x100F;
6230 pub const SPI_GETMENUFADE
: UINT
= 0x1012;
6231 pub const SPI_SETMENUFADE
: UINT
= 0x1013;
6232 pub const SPI_GETSELECTIONFADE
: UINT
= 0x1014;
6233 pub const SPI_SETSELECTIONFADE
: UINT
= 0x1015;
6234 pub const SPI_GETTOOLTIPANIMATION
: UINT
= 0x1016;
6235 pub const SPI_SETTOOLTIPANIMATION
: UINT
= 0x1017;
6236 pub const SPI_GETTOOLTIPFADE
: UINT
= 0x1018;
6237 pub const SPI_SETTOOLTIPFADE
: UINT
= 0x1019;
6238 pub const SPI_GETCURSORSHADOW
: UINT
= 0x101A;
6239 pub const SPI_SETCURSORSHADOW
: UINT
= 0x101B;
6240 pub const SPI_GETMOUSESONAR
: UINT
= 0x101C;
6241 pub const SPI_SETMOUSESONAR
: UINT
= 0x101D;
6242 pub const SPI_GETMOUSECLICKLOCK
: UINT
= 0x101E;
6243 pub const SPI_SETMOUSECLICKLOCK
: UINT
= 0x101F;
6244 pub const SPI_GETMOUSEVANISH
: UINT
= 0x1020;
6245 pub const SPI_SETMOUSEVANISH
: UINT
= 0x1021;
6246 pub const SPI_GETFLATMENU
: UINT
= 0x1022;
6247 pub const SPI_SETFLATMENU
: UINT
= 0x1023;
6248 pub const SPI_GETDROPSHADOW
: UINT
= 0x1024;
6249 pub const SPI_SETDROPSHADOW
: UINT
= 0x1025;
6250 pub const SPI_GETBLOCKSENDINPUTRESETS
: UINT
= 0x1026;
6251 pub const SPI_SETBLOCKSENDINPUTRESETS
: UINT
= 0x1027;
6252 pub const SPI_GETUIEFFECTS
: UINT
= 0x103E;
6253 pub const SPI_SETUIEFFECTS
: UINT
= 0x103F;
6254 pub const SPI_GETDISABLEOVERLAPPEDCONTENT
: UINT
= 0x1040;
6255 pub const SPI_SETDISABLEOVERLAPPEDCONTENT
: UINT
= 0x1041;
6256 pub const SPI_GETCLIENTAREAANIMATION
: UINT
= 0x1042;
6257 pub const SPI_SETCLIENTAREAANIMATION
: UINT
= 0x1043;
6258 pub const SPI_GETCLEARTYPE
: UINT
= 0x1048;
6259 pub const SPI_SETCLEARTYPE
: UINT
= 0x1049;
6260 pub const SPI_GETSPEECHRECOGNITION
: UINT
= 0x104A;
6261 pub const SPI_SETSPEECHRECOGNITION
: UINT
= 0x104B;
6262 pub const SPI_GETFOREGROUNDLOCKTIMEOUT
: UINT
= 0x2000;
6263 pub const SPI_SETFOREGROUNDLOCKTIMEOUT
: UINT
= 0x2001;
6264 pub const SPI_GETACTIVEWNDTRKTIMEOUT
: UINT
= 0x2002;
6265 pub const SPI_SETACTIVEWNDTRKTIMEOUT
: UINT
= 0x2003;
6266 pub const SPI_GETFOREGROUNDFLASHCOUNT
: UINT
= 0x2004;
6267 pub const SPI_SETFOREGROUNDFLASHCOUNT
: UINT
= 0x2005;
6268 pub const SPI_GETCARETWIDTH
: UINT
= 0x2006;
6269 pub const SPI_SETCARETWIDTH
: UINT
= 0x2007;
6270 pub const SPI_GETMOUSECLICKLOCKTIME
: UINT
= 0x2008;
6271 pub const SPI_SETMOUSECLICKLOCKTIME
: UINT
= 0x2009;
6272 pub const SPI_GETFONTSMOOTHINGTYPE
: UINT
= 0x200A;
6273 pub const SPI_SETFONTSMOOTHINGTYPE
: UINT
= 0x200B;
6274 pub const FE_FONTSMOOTHINGSTANDARD
: UINT
= 0x0001;
6275 pub const FE_FONTSMOOTHINGCLEARTYPE
: UINT
= 0x0002;
6276 pub const SPI_GETFONTSMOOTHINGCONTRAST
: UINT
= 0x200C;
6277 pub const SPI_SETFONTSMOOTHINGCONTRAST
: UINT
= 0x200D;
6278 pub const SPI_GETFOCUSBORDERWIDTH
: UINT
= 0x200E;
6279 pub const SPI_SETFOCUSBORDERWIDTH
: UINT
= 0x200F;
6280 pub const SPI_GETFOCUSBORDERHEIGHT
: UINT
= 0x2010;
6281 pub const SPI_SETFOCUSBORDERHEIGHT
: UINT
= 0x2011;
6282 pub const SPI_GETFONTSMOOTHINGORIENTATION
: UINT
= 0x2012;
6283 pub const SPI_SETFONTSMOOTHINGORIENTATION
: UINT
= 0x2013;
6284 pub const FE_FONTSMOOTHINGORIENTATIONBGR
: UINT
= 0x0000;
6285 pub const FE_FONTSMOOTHINGORIENTATIONRGB
: UINT
= 0x0001;
6286 pub const SPI_GETMINIMUMHITRADIUS
: UINT
= 0x2014;
6287 pub const SPI_SETMINIMUMHITRADIUS
: UINT
= 0x2015;
6288 pub const SPI_GETMESSAGEDURATION
: UINT
= 0x2016;
6289 pub const SPI_SETMESSAGEDURATION
: UINT
= 0x2017;
6291 pub const SPIF_UPDATEINIFILE
: UINT
= 0x0001;
6292 pub const SPIF_SENDWININICHANGE
: UINT
= 0x0002;
6293 pub const SPIF_SENDCHANGE
: UINT
= SPIF_SENDWININICHANGE
;
6295 STRUCT
!{struct NONCLIENTMETRICSA
{
6297 iBorderWidth
: c_int
,
6298 iScrollWidth
: c_int
,
6299 iScrollHeight
: c_int
,
6300 iCaptionWidth
: c_int
,
6301 iCaptionHeight
: c_int
,
6302 lfCaptionFont
: LOGFONTA
,
6303 iSmCaptionWidth
: c_int
,
6304 iSmCaptionHeight
: c_int
,
6305 lfSmCaptionFont
: LOGFONTA
,
6308 lfMenuFont
: LOGFONTA
,
6309 lfStatusFont
: LOGFONTA
,
6310 lfMessageFont
: LOGFONTA
,
6311 iPaddedBorderWidth
: c_int
,
6313 pub type LPNONCLIENTMETRICSA
= *mut NONCLIENTMETRICSA
;
6314 STRUCT
!{struct NONCLIENTMETRICSW
{
6316 iBorderWidth
: c_int
,
6317 iScrollWidth
: c_int
,
6318 iScrollHeight
: c_int
,
6319 iCaptionWidth
: c_int
,
6320 iCaptionHeight
: c_int
,
6321 lfCaptionFont
: LOGFONTW
,
6322 iSmCaptionWidth
: c_int
,
6323 iSmCaptionHeight
: c_int
,
6324 lfSmCaptionFont
: LOGFONTW
,
6327 lfMenuFont
: LOGFONTW
,
6328 lfStatusFont
: LOGFONTW
,
6329 lfMessageFont
: LOGFONTW
,
6330 iPaddedBorderWidth
: c_int
,
6332 pub type LPNONCLIENTMETRICSW
= *mut NONCLIENTMETRICSW
;
6334 STRUCT
!{struct ANIMATIONINFO
{
6338 pub type LPANIMATIONINFO
= *mut ANIMATIONINFO
;
6340 STRUCT
!{struct HIGHCONTRASTA
{
6343 lpszDefaultScheme
: LPSTR
,
6345 pub type LPHIGHCONTRASTA
= *mut HIGHCONTRASTA
;
6346 STRUCT
!{struct HIGHCONTRASTW
{
6349 lpszDefaultScheme
: LPWSTR
,
6351 pub type LPHIGHCONTRASTW
= *mut HIGHCONTRASTW
;
6352 pub const HCF_HIGHCONTRASTON
: DWORD
= 0x00000001;
6353 pub const HCF_AVAILABLE
: DWORD
= 0x00000002;
6354 pub const HCF_HOTKEYACTIVE
: DWORD
= 0x00000004;
6355 pub const HCF_CONFIRMHOTKEY
: DWORD
= 0x00000008;
6356 pub const HCF_HOTKEYSOUND
: DWORD
= 0x00000010;
6357 pub const HCF_INDICATOR
: DWORD
= 0x00000020;
6358 pub const HCF_HOTKEYAVAILABLE
: DWORD
= 0x00000040;
6359 pub const HCF_LOGONDESKTOP
: DWORD
= 0x00000100;
6360 pub const HCF_DEFAULTDESKTOP
: DWORD
= 0x00000200;
6361 pub const CDS_UPDATEREGISTRY
: DWORD
= 0x00000001;
6362 pub const CDS_TEST
: DWORD
= 0x00000002;
6363 pub const CDS_FULLSCREEN
: DWORD
= 0x00000004;
6364 pub const CDS_GLOBAL
: DWORD
= 0x00000008;
6365 pub const CDS_SET_PRIMARY
: DWORD
= 0x00000010;
6366 pub const CDS_VIDEOPARAMETERS
: DWORD
= 0x00000020;
6367 pub const CDS_ENABLE_UNSAFE_MODES
: DWORD
= 0x00000100;
6368 pub const CDS_DISABLE_UNSAFE_MODES
: DWORD
= 0x00000200;
6369 pub const CDS_RESET
: DWORD
= 0x40000000;
6370 pub const CDS_RESET_EX
: DWORD
= 0x20000000;
6371 pub const CDS_NORESET
: DWORD
= 0x10000000;
6372 pub const DISP_CHANGE_SUCCESSFUL
: LONG
= 0;
6373 pub const DISP_CHANGE_RESTART
: LONG
= 1;
6374 pub const DISP_CHANGE_FAILED
: LONG
= -1;
6375 pub const DISP_CHANGE_BADMODE
: LONG
= -2;
6376 pub const DISP_CHANGE_NOTUPDATED
: LONG
= -3;
6377 pub const DISP_CHANGE_BADFLAGS
: LONG
= -4;
6378 pub const DISP_CHANGE_BADPARAM
: LONG
= -5;
6379 pub const DISP_CHANGE_BADDUALVIEW
: LONG
= -6;
6381 pub fn ChangeDisplaySettingsA(
6382 lpDevMode
: *mut DEVMODEA
,
6385 pub fn ChangeDisplaySettingsW(
6386 lpDevMode
: *mut DEVMODEW
,
6389 pub fn ChangeDisplaySettingsExA(
6390 lpszDeviceName
: LPCSTR
,
6391 lpDevMode
: *mut DEVMODEA
,
6396 pub fn ChangeDisplaySettingsExW(
6397 lpszDeviceName
: LPCWSTR
,
6398 lpDevMode
: *mut DEVMODEW
,
6404 pub const ENUM_CURRENT_SETTINGS
: DWORD
= 0xFFFFFFFF;
6405 pub const ENUM_REGISTRY_SETTINGS
: DWORD
= 0xFFFFFFFE;
6407 pub fn EnumDisplaySettingsA(
6408 lpszDeviceName
: LPCSTR
,
6410 lpDevMode
: *mut DEVMODEA
,
6412 pub fn EnumDisplaySettingsW(
6413 lpszDeviceName
: LPCWSTR
,
6415 lpDevMode
: *mut DEVMODEW
,
6417 pub fn EnumDisplaySettingsExA(
6418 lpszDeviceName
: LPCSTR
,
6420 lpDevMode
: *mut DEVMODEA
,
6423 pub fn EnumDisplaySettingsExW(
6424 lpszDeviceName
: LPCWSTR
,
6426 lpDevMode
: *mut DEVMODEW
,
6430 pub const EDS_RAWMODE
: DWORD
= 0x00000002;
6431 pub const EDS_ROTATEDMODE
: DWORD
= 0x00000004;
6433 pub fn EnumDisplayDevicesA(
6436 lpDisplayDevice
: PDISPLAY_DEVICEA
,
6439 pub fn EnumDisplayDevicesW(
6442 lpDisplayDevice
: PDISPLAY_DEVICEW
,
6446 pub const EDD_GET_DEVICE_INTERFACE_NAME
: DWORD
= 0x00000001;
6448 pub fn SystemParametersInfoA(
6454 pub fn SystemParametersInfoW(
6460 pub fn SystemParametersInfoForDpi(
6470 pub fn SetLastErrorEx(
6474 pub fn InternalGetWindowText(
6484 pub fn CancelShutdown() -> BOOL
;
6486 pub const MONITOR_DEFAULTTONULL
: DWORD
= 0x00000000;
6487 pub const MONITOR_DEFAULTTOPRIMARY
: DWORD
= 0x00000001;
6488 pub const MONITOR_DEFAULTTONEAREST
: DWORD
= 0x00000002;
6490 pub fn MonitorFromPoint(
6494 pub fn MonitorFromRect(
6498 pub fn MonitorFromWindow(
6503 pub const MONITORINFOF_PRIMARY
: DWORD
= 1;
6504 pub const CCHDEVICENAME
: usize = 32;
6505 STRUCT
!{struct MONITORINFO
{
6511 pub type LPMONITORINFO
= *mut MONITORINFO
;
6512 STRUCT
!{struct MONITORINFOEXA
{
6517 szDevice
: [CHAR
; CCHDEVICENAME
],
6519 pub type LPMONITORINFOEXA
= *mut MONITORINFOEXA
;
6520 STRUCT
!{struct MONITORINFOEXW
{
6525 szDevice
: [WCHAR
; CCHDEVICENAME
],
6527 pub type LPMONITORINFOEXW
= *mut MONITORINFOEXW
;
6529 pub fn GetMonitorInfoA(
6531 lpmi
: LPMONITORINFO
,
6533 pub fn GetMonitorInfoW(
6535 lpmi
: LPMONITORINFO
,
6538 FN
!{stdcall
MONITORENUMPROC(
6545 pub fn EnumDisplayMonitors(
6548 lpfnEnum
: MONITORENUMPROC
,
6551 pub fn NotifyWinEvent(
6558 FN
!{stdcall
WINEVENTPROC(
6568 pub fn SetWinEventHook(
6571 hmodWinEventProc
: HMODULE
,
6572 pfnWinEventProc
: WINEVENTPROC
,
6577 pub fn IsWinEventHookInstalled(
6581 pub const WINEVENT_OUTOFCONTEXT
: UINT
= 0x0000;
6582 pub const WINEVENT_SKIPOWNTHREAD
: UINT
= 0x0001;
6583 pub const WINEVENT_SKIPOWNPROCESS
: UINT
= 0x0002;
6584 pub const WINEVENT_INCONTEXT
: UINT
= 0x0004;
6586 pub fn UnhookWinEvent(
6587 hWinEventHook
: HWINEVENTHOOK
,
6590 pub const CHILDID_SELF
: LONG
= 0;
6591 pub const INDEXID_OBJECT
: LONG
= 0;
6592 pub const INDEXID_CONTAINER
: LONG
= 0;
6593 pub const OBJID_WINDOW
: LONG
= 0x0000;
6594 pub const OBJID_SYSMENU
: LONG
= 0xFFFFFFFF;
6595 pub const OBJID_TITLEBAR
: LONG
= 0xFFFFFFFE;
6596 pub const OBJID_MENU
: LONG
= 0xFFFFFFFD;
6597 pub const OBJID_CLIENT
: LONG
= 0xFFFFFFFC;
6598 pub const OBJID_VSCROLL
: LONG
= 0xFFFFFFFB;
6599 pub const OBJID_HSCROLL
: LONG
= 0xFFFFFFFA;
6600 pub const OBJID_SIZEGRIP
: LONG
= 0xFFFFFFF9;
6601 pub const OBJID_CARET
: LONG
= 0xFFFFFFF8;
6602 pub const OBJID_CURSOR
: LONG
= 0xFFFFFFF7;
6603 pub const OBJID_ALERT
: LONG
= 0xFFFFFFF6;
6604 pub const OBJID_SOUND
: LONG
= 0xFFFFFFF5;
6605 pub const OBJID_QUERYCLASSNAMEIDX
: LONG
= 0xFFFFFFF4;
6606 pub const OBJID_NATIVEOM
: LONG
= 0xFFFFFFF0;
6607 pub const EVENT_MIN
: UINT
= 0x0001;
6608 pub const EVENT_MAX
: UINT
= 0x7FFFFFFF;
6609 pub const EVENT_SYSTEM_SOUND
: UINT
= 0x0001;
6610 pub const EVENT_SYSTEM_ALERT
: UINT
= 0x0002;
6611 pub const EVENT_SYSTEM_FOREGROUND
: UINT
= 0x0003;
6612 pub const EVENT_SYSTEM_MENUSTART
: UINT
= 0x0004;
6613 pub const EVENT_SYSTEM_MENUEND
: UINT
= 0x0005;
6614 pub const EVENT_SYSTEM_MENUPOPUPSTART
: UINT
= 0x0006;
6615 pub const EVENT_SYSTEM_MENUPOPUPEND
: UINT
= 0x0007;
6616 pub const EVENT_SYSTEM_CAPTURESTART
: UINT
= 0x0008;
6617 pub const EVENT_SYSTEM_CAPTUREEND
: UINT
= 0x0009;
6618 pub const EVENT_SYSTEM_MOVESIZESTART
: UINT
= 0x000A;
6619 pub const EVENT_SYSTEM_MOVESIZEEND
: UINT
= 0x000B;
6620 pub const EVENT_SYSTEM_CONTEXTHELPSTART
: UINT
= 0x000C;
6621 pub const EVENT_SYSTEM_CONTEXTHELPEND
: UINT
= 0x000D;
6622 pub const EVENT_SYSTEM_DRAGDROPSTART
: UINT
= 0x000E;
6623 pub const EVENT_SYSTEM_DRAGDROPEND
: UINT
= 0x000F;
6624 pub const EVENT_SYSTEM_DIALOGSTART
: UINT
= 0x0010;
6625 pub const EVENT_SYSTEM_DIALOGEND
: UINT
= 0x0011;
6626 pub const EVENT_SYSTEM_SCROLLINGSTART
: UINT
= 0x0012;
6627 pub const EVENT_SYSTEM_SCROLLINGEND
: UINT
= 0x0013;
6628 pub const EVENT_SYSTEM_SWITCHSTART
: UINT
= 0x0014;
6629 pub const EVENT_SYSTEM_SWITCHEND
: UINT
= 0x0015;
6630 pub const EVENT_SYSTEM_MINIMIZESTART
: UINT
= 0x0016;
6631 pub const EVENT_SYSTEM_MINIMIZEEND
: UINT
= 0x0017;
6632 pub const EVENT_SYSTEM_DESKTOPSWITCH
: UINT
= 0x0020;
6633 pub const EVENT_SYSTEM_SWITCHER_APPGRABBED
: UINT
= 0x0024;
6634 pub const EVENT_SYSTEM_SWITCHER_APPOVERTARGET
: UINT
= 0x0025;
6635 pub const EVENT_SYSTEM_SWITCHER_APPDROPPED
: UINT
= 0x0026;
6636 pub const EVENT_SYSTEM_SWITCHER_CANCELLED
: UINT
= 0x0027;
6637 pub const EVENT_SYSTEM_IME_KEY_NOTIFICATION
: UINT
= 0x0029;
6638 pub const EVENT_SYSTEM_END
: UINT
= 0x00FF;
6639 pub const EVENT_OEM_DEFINED_START
: UINT
= 0x0101;
6640 pub const EVENT_OEM_DEFINED_END
: UINT
= 0x01FF;
6641 pub const EVENT_UIA_EVENTID_START
: UINT
= 0x4E00;
6642 pub const EVENT_UIA_EVENTID_END
: UINT
= 0x4EFF;
6643 pub const EVENT_UIA_PROPID_START
: UINT
= 0x7500;
6644 pub const EVENT_UIA_PROPID_END
: UINT
= 0x75FF;
6645 pub const EVENT_CONSOLE_CARET
: UINT
= 0x4001;
6646 pub const EVENT_CONSOLE_UPDATE_REGION
: UINT
= 0x4002;
6647 pub const EVENT_CONSOLE_UPDATE_SIMPLE
: UINT
= 0x4003;
6648 pub const EVENT_CONSOLE_UPDATE_SCROLL
: UINT
= 0x4004;
6649 pub const EVENT_CONSOLE_LAYOUT
: UINT
= 0x4005;
6650 pub const EVENT_CONSOLE_START_APPLICATION
: UINT
= 0x4006;
6651 pub const EVENT_CONSOLE_END_APPLICATION
: UINT
= 0x4007;
6652 #[cfg(target_pointer_width = "64")]
6653 pub const CONSOLE_APPLICATION_16BIT
: LONG
= 0x0000;
6654 #[cfg(target_pointer_width = "32")]
6655 pub const CONSOLE_APPLICATION_16BIT
: LONG
= 0x0001;
6656 pub const CONSOLE_CARET_SELECTION
: LONG
= 0x0001;
6657 pub const CONSOLE_CARET_VISIBLE
: LONG
= 0x0002;
6658 pub const EVENT_CONSOLE_END
: UINT
= 0x40FF;
6659 pub const EVENT_OBJECT_CREATE
: UINT
= 0x8000;
6660 pub const EVENT_OBJECT_DESTROY
: UINT
= 0x8001;
6661 pub const EVENT_OBJECT_SHOW
: UINT
= 0x8002;
6662 pub const EVENT_OBJECT_HIDE
: UINT
= 0x8003;
6663 pub const EVENT_OBJECT_REORDER
: UINT
= 0x8004;
6664 pub const EVENT_OBJECT_FOCUS
: UINT
= 0x8005;
6665 pub const EVENT_OBJECT_SELECTION
: UINT
= 0x8006;
6666 pub const EVENT_OBJECT_SELECTIONADD
: UINT
= 0x8007;
6667 pub const EVENT_OBJECT_SELECTIONREMOVE
: UINT
= 0x8008;
6668 pub const EVENT_OBJECT_SELECTIONWITHIN
: UINT
= 0x8009;
6669 pub const EVENT_OBJECT_STATECHANGE
: UINT
= 0x800A;
6670 pub const EVENT_OBJECT_LOCATIONCHANGE
: UINT
= 0x800B;
6671 pub const EVENT_OBJECT_NAMECHANGE
: UINT
= 0x800C;
6672 pub const EVENT_OBJECT_DESCRIPTIONCHANGE
: UINT
= 0x800D;
6673 pub const EVENT_OBJECT_VALUECHANGE
: UINT
= 0x800E;
6674 pub const EVENT_OBJECT_PARENTCHANGE
: UINT
= 0x800F;
6675 pub const EVENT_OBJECT_HELPCHANGE
: UINT
= 0x8010;
6676 pub const EVENT_OBJECT_DEFACTIONCHANGE
: UINT
= 0x8011;
6677 pub const EVENT_OBJECT_ACCELERATORCHANGE
: UINT
= 0x8012;
6678 pub const EVENT_OBJECT_INVOKED
: UINT
= 0x8013;
6679 pub const EVENT_OBJECT_TEXTSELECTIONCHANGED
: UINT
= 0x8014;
6680 pub const EVENT_OBJECT_CONTENTSCROLLED
: UINT
= 0x8015;
6681 pub const EVENT_SYSTEM_ARRANGMENTPREVIEW
: UINT
= 0x8016;
6682 pub const EVENT_OBJECT_CLOAKED
: UINT
= 0x8017;
6683 pub const EVENT_OBJECT_UNCLOAKED
: UINT
= 0x8018;
6684 pub const EVENT_OBJECT_LIVEREGIONCHANGED
: UINT
= 0x8019;
6685 pub const EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED
: UINT
= 0x8020;
6686 pub const EVENT_OBJECT_DRAGSTART
: UINT
= 0x8021;
6687 pub const EVENT_OBJECT_DRAGCANCEL
: UINT
= 0x8022;
6688 pub const EVENT_OBJECT_DRAGCOMPLETE
: UINT
= 0x8023;
6689 pub const EVENT_OBJECT_DRAGENTER
: UINT
= 0x8024;
6690 pub const EVENT_OBJECT_DRAGLEAVE
: UINT
= 0x8025;
6691 pub const EVENT_OBJECT_DRAGDROPPED
: UINT
= 0x8026;
6692 pub const EVENT_OBJECT_IME_SHOW
: UINT
= 0x8027;
6693 pub const EVENT_OBJECT_IME_HIDE
: UINT
= 0x8028;
6694 pub const EVENT_OBJECT_IME_CHANGE
: UINT
= 0x8029;
6695 pub const EVENT_OBJECT_TEXTEDIT_CONVERSIONTARGETCHANGED
: UINT
= 0x8030;
6696 pub const EVENT_OBJECT_END
: UINT
= 0x80FF;
6697 pub const EVENT_AIA_START
: UINT
= 0xA000;
6698 pub const EVENT_AIA_END
: UINT
= 0xAFFF;
6699 pub const ALERT_SYSTEM_INFORMATIONAL
: LONG
= 1;
6700 pub const ALERT_SYSTEM_WARNING
: LONG
= 2;
6701 pub const ALERT_SYSTEM_ERROR
: LONG
= 3;
6702 pub const ALERT_SYSTEM_QUERY
: LONG
= 4;
6703 pub const ALERT_SYSTEM_CRITICAL
: LONG
= 5;
6704 pub const CALERT_SYSTEM
: LONG
= 6;
6705 STRUCT
!{struct GUITHREADINFO
{
6711 hwndMenuOwner
: HWND
,
6716 pub type PGUITHREADINFO
= *mut GUITHREADINFO
;
6717 pub type LPGUITHREADINFO
= *mut GUITHREADINFO
;
6718 pub const GUI_CARETBLINKING
: DWORD
= 0x00000001;
6719 pub const GUI_INMOVESIZE
: DWORD
= 0x00000002;
6720 pub const GUI_INMENUMODE
: DWORD
= 0x00000004;
6721 pub const GUI_SYSTEMMENUMODE
: DWORD
= 0x00000008;
6722 pub const GUI_POPUPMENUMODE
: DWORD
= 0x00000010;
6723 #[cfg(target_arch = "x86_64")]
6724 pub const GUI_16BITTASK
: DWORD
= 0x00000000;
6725 #[cfg(target_arch = "x86")]
6726 pub const GUI_16BITTASK
: DWORD
= 0x00000020;
6728 pub fn GetGUIThreadInfo(
6730 pgui
: PGUITHREADINFO
,
6736 pub const USER_DEFAULT_SCREEN_DPI
: LONG
= 96;
6738 pub fn SetProcessDPIAware() -> BOOL
;
6739 pub fn IsProcessDPIAware() -> BOOL
;
6740 pub fn SetThreadDpiAwarenessContext(
6741 dpiContext
: DPI_AWARENESS_CONTEXT
,
6742 ) -> DPI_AWARENESS_CONTEXT
;
6743 pub fn GetThreadDpiAwarenessContext() -> DPI_AWARENESS_CONTEXT
;
6744 pub fn GetWindowDpiAwarenessContext(
6746 ) -> DPI_AWARENESS_CONTEXT
;
6747 pub fn GetAwarenessFromDpiAwarenessContext(
6748 value
: DPI_AWARENESS_CONTEXT
,
6750 pub fn GetDpiFromDpiAwarenessContext(
6751 value
: DPI_AWARENESS_CONTEXT
,
6753 pub fn AreDpiAwarenessContextsEqual(
6754 dpiContextA
: DPI_AWARENESS_CONTEXT
,
6755 dpiContextB
: DPI_AWARENESS_CONTEXT
,
6757 pub fn IsValidDpiAwarenessContext(
6758 value
: DPI_AWARENESS_CONTEXT
,
6760 pub fn GetDpiForWindow(
6763 pub fn GetDpiForSystem() -> UINT
;
6764 pub fn GetSystemDpiForProcess(
6767 pub fn EnableNonClientDpiScaling(
6770 pub fn SetProcessDpiAwarenessContext(
6771 value
: DPI_AWARENESS_CONTEXT
,
6773 pub fn SetThreadDpiHostingBehavior(
6774 value
: DPI_HOSTING_BEHAVIOR
,
6775 ) -> DPI_HOSTING_BEHAVIOR
;
6776 pub fn GetThreadDpiHostingBehavior() -> DPI_HOSTING_BEHAVIOR
;
6777 pub fn GetWindowDpiHostingBehavior(
6779 ) -> DPI_HOSTING_BEHAVIOR
;
6780 pub fn GetWindowModuleFileNameA(
6782 lpszFileName
: LPCSTR
,
6783 cchFileNameMax
: UINT
,
6785 pub fn GetWindowModuleFileNameW(
6787 lpszFileName
: LPWSTR
,
6788 cchFileNameMax
: UINT
,
6791 pub const STATE_SYSTEM_UNAVAILABLE
: DWORD
= 0x00000001;
6792 pub const STATE_SYSTEM_SELECTED
: DWORD
= 0x00000002;
6793 pub const STATE_SYSTEM_FOCUSED
: DWORD
= 0x00000004;
6794 pub const STATE_SYSTEM_PRESSED
: DWORD
= 0x00000008;
6795 pub const STATE_SYSTEM_CHECKED
: DWORD
= 0x00000010;
6796 pub const STATE_SYSTEM_MIXED
: DWORD
= 0x00000020;
6797 pub const STATE_SYSTEM_INDETERMINATE
: DWORD
= STATE_SYSTEM_MIXED
;
6798 pub const STATE_SYSTEM_READONLY
: DWORD
= 0x00000040;
6799 pub const STATE_SYSTEM_HOTTRACKED
: DWORD
= 0x00000080;
6800 pub const STATE_SYSTEM_DEFAULT
: DWORD
= 0x00000100;
6801 pub const STATE_SYSTEM_EXPANDED
: DWORD
= 0x00000200;
6802 pub const STATE_SYSTEM_COLLAPSED
: DWORD
= 0x00000400;
6803 pub const STATE_SYSTEM_BUSY
: DWORD
= 0x00000800;
6804 pub const STATE_SYSTEM_FLOATING
: DWORD
= 0x00001000;
6805 pub const STATE_SYSTEM_MARQUEED
: DWORD
= 0x00002000;
6806 pub const STATE_SYSTEM_ANIMATED
: DWORD
= 0x00004000;
6807 pub const STATE_SYSTEM_INVISIBLE
: DWORD
= 0x00008000;
6808 pub const STATE_SYSTEM_OFFSCREEN
: DWORD
= 0x00010000;
6809 pub const STATE_SYSTEM_SIZEABLE
: DWORD
= 0x00020000;
6810 pub const STATE_SYSTEM_MOVEABLE
: DWORD
= 0x00040000;
6811 pub const STATE_SYSTEM_SELFVOICING
: DWORD
= 0x00080000;
6812 pub const STATE_SYSTEM_FOCUSABLE
: DWORD
= 0x00100000;
6813 pub const STATE_SYSTEM_SELECTABLE
: DWORD
= 0x00200000;
6814 pub const STATE_SYSTEM_LINKED
: DWORD
= 0x00400000;
6815 pub const STATE_SYSTEM_TRAVERSED
: DWORD
= 0x00800000;
6816 pub const STATE_SYSTEM_MULTISELECTABLE
: DWORD
= 0x01000000;
6817 pub const STATE_SYSTEM_EXTSELECTABLE
: DWORD
= 0x02000000;
6818 pub const STATE_SYSTEM_ALERT_LOW
: DWORD
= 0x04000000;
6819 pub const STATE_SYSTEM_ALERT_MEDIUM
: DWORD
= 0x08000000;
6820 pub const STATE_SYSTEM_ALERT_HIGH
: DWORD
= 0x10000000;
6821 pub const STATE_SYSTEM_PROTECTED
: DWORD
= 0x20000000;
6822 pub const STATE_SYSTEM_VALID
: DWORD
= 0x3fffffff;
6823 pub const CCHILDREN_TITLEBAR
: usize = 5;
6824 pub const CCHILDREN_SCROLLBAR
: usize = 5;
6825 STRUCT
!{struct CURSORINFO
{
6831 pub type PCURSORINFO
= *mut CURSORINFO
;
6832 pub type LPCURSORINFO
= *mut CURSORINFO
;
6833 pub const CURSOR_SHOWING
: DWORD
= 0x00000001;
6834 pub const CURSOR_SUPPRESSED
: DWORD
= 0x00000002;
6836 pub fn GetCursorInfo(
6840 STRUCT
!{struct WINDOWINFO
{
6846 dwWindowStatus
: DWORD
,
6847 cxWindowBorders
: UINT
,
6848 cyWindowBorders
: UINT
,
6849 atomWindowType
: ATOM
,
6850 wCreatorVersion
: WORD
,
6852 pub type PWINDOWINFO
= *mut WINDOWINFO
;
6853 pub type LPWINDOWINFO
= *mut WINDOWINFO
;
6854 pub const WS_ACTIVECAPTION
: DWORD
= 0x0001;
6856 pub fn GetWindowInfo(
6861 STRUCT
!{struct TITLEBARINFO
{
6864 rgstate
: [DWORD
; CCHILDREN_TITLEBAR
+ 1],
6866 pub type PTITLEBARINFO
= *mut TITLEBARINFO
;
6867 pub type LPTITLEBARINFO
= *mut TITLEBARINFO
;
6869 pub fn GetTitleBarInfo(
6874 STRUCT
!{struct TITLEBARINFOEX
{
6877 rgstate
: [DWORD
; CCHILDREN_TITLEBAR
+ 1],
6878 rgrect
: [RECT
; CCHILDREN_TITLEBAR
+ 1],
6880 pub type PTITLEBARINFOEX
= *mut TITLEBARINFOEX
;
6881 pub type LPTITLEBARINFOEX
= *mut TITLEBARINFOEX
;
6882 STRUCT
!{struct MENUBARINFO
{
6889 BITFIELD
!{MENUBARINFO BitFields
: BOOL
[
6890 fBarFocused set_fBarFocused
[0..1],
6891 fFocused set_fFocused
[1..2],
6893 pub type PMENUBARINFO
= *mut MENUBARINFO
;
6894 pub type LPMENUBARINFO
= *mut MENUBARINFO
;
6896 pub fn GetMenuBarInfo(
6903 STRUCT
!{struct SCROLLBARINFO
{
6906 dxyLineButton
: c_int
,
6908 xyThumbBottom
: c_int
,
6910 rgstate
: [DWORD
; CCHILDREN_SCROLLBAR
+ 1],
6912 pub type PSCROLLBARINFO
= *mut SCROLLBARINFO
;
6913 pub type LPSCROLLBARINFO
= *mut SCROLLBARINFO
;
6915 pub fn GetScrollBarInfo(
6918 psbi
: PSCROLLBARINFO
,
6921 STRUCT
!{struct COMBOBOXINFO
{
6930 pub type PCOMBOBOXINFO
= *mut COMBOBOXINFO
;
6931 pub type LPCOMBOBOXINFO
= *mut COMBOBOXINFO
;
6933 pub fn GetComboBoxInfo(
6935 pcbi
: PCOMBOBOXINFO
,
6938 pub const GA_PARENT
: UINT
= 1;
6939 pub const GA_ROOT
: UINT
= 2;
6940 pub const GA_ROOTOWNER
: UINT
= 3;
6946 pub fn RealChildWindowFromPoint(
6948 ptParentClientCoords
: POINT
,
6950 pub fn RealGetWindowClassA(
6952 ptszClassName
: LPSTR
,
6953 cchClassNameMax
: UINT
,
6955 pub fn RealGetWindowClassW(
6957 ptszClassName
: LPWSTR
,
6958 cchClassNameMax
: UINT
,
6961 STRUCT
!{struct ALTTABINFO
{
6972 pub type PALTTABINFO
= *mut ALTTABINFO
;
6973 pub type LPALTTABINFO
= *mut ALTTABINFO
;
6975 pub fn GetAltTabInfoA(
6982 pub fn GetAltTabInfoW(
6986 pszItemText
: LPWSTR
,
6989 pub fn GetListBoxInfo(
6992 pub fn LockWorkStation() -> BOOL
;
6993 pub fn UserHandleGrantAccess(
6994 hUserHandle
: HANDLE
,
6999 DECLARE_HANDLE
!{HRAWINPUT, HRAWINPUT__}
7001 pub fn GET_RAWINPUT_CODE_WPARAM(wParam
: WPARAM
) -> WPARAM { wParam & 0xff }
7002 pub const RIM_INPUT
: WPARAM
= 0;
7003 pub const RIM_INPUTSINK
: WPARAM
= 1;
7004 STRUCT
!{struct RAWINPUTHEADER
{
7010 pub type PRAWINPUTHEADER
= *mut RAWINPUTHEADER
;
7011 pub type LPRAWINPUTHEADER
= *mut RAWINPUTHEADER
;
7012 pub const RIM_TYPEMOUSE
: DWORD
= 0;
7013 pub const RIM_TYPEKEYBOARD
: DWORD
= 1;
7014 pub const RIM_TYPEHID
: DWORD
= 2;
7015 STRUCT
!{struct RAWMOUSE
{
7017 memory_padding
: USHORT
, // 16bit Padding for 32bit align in following union
7018 usButtonFlags
: USHORT
,
7019 usButtonData
: USHORT
,
7020 ulRawButtons
: ULONG
,
7023 ulExtraInformation
: ULONG
,
7025 pub type PRAWMOUSE
= *mut RAWMOUSE
;
7026 pub type LPRAWMOUSE
= *mut RAWMOUSE
;
7027 pub const RI_MOUSE_LEFT_BUTTON_DOWN
: USHORT
= 0x0001;
7028 pub const RI_MOUSE_LEFT_BUTTON_UP
: USHORT
= 0x0002;
7029 pub const RI_MOUSE_RIGHT_BUTTON_DOWN
: USHORT
= 0x0004;
7030 pub const RI_MOUSE_RIGHT_BUTTON_UP
: USHORT
= 0x0008;
7031 pub const RI_MOUSE_MIDDLE_BUTTON_DOWN
: USHORT
= 0x0010;
7032 pub const RI_MOUSE_MIDDLE_BUTTON_UP
: USHORT
= 0x0020;
7033 pub const RI_MOUSE_BUTTON_1_DOWN
: USHORT
= RI_MOUSE_LEFT_BUTTON_DOWN
;
7034 pub const RI_MOUSE_BUTTON_1_UP
: USHORT
= RI_MOUSE_LEFT_BUTTON_UP
;
7035 pub const RI_MOUSE_BUTTON_2_DOWN
: USHORT
= RI_MOUSE_RIGHT_BUTTON_DOWN
;
7036 pub const RI_MOUSE_BUTTON_2_UP
: USHORT
= RI_MOUSE_RIGHT_BUTTON_UP
;
7037 pub const RI_MOUSE_BUTTON_3_DOWN
: USHORT
= RI_MOUSE_MIDDLE_BUTTON_DOWN
;
7038 pub const RI_MOUSE_BUTTON_3_UP
: USHORT
= RI_MOUSE_MIDDLE_BUTTON_UP
;
7039 pub const RI_MOUSE_BUTTON_4_DOWN
: USHORT
= 0x0040;
7040 pub const RI_MOUSE_BUTTON_4_UP
: USHORT
= 0x0080;
7041 pub const RI_MOUSE_BUTTON_5_DOWN
: USHORT
= 0x0100;
7042 pub const RI_MOUSE_BUTTON_5_UP
: USHORT
= 0x0200;
7043 pub const RI_MOUSE_WHEEL
: USHORT
= 0x0400;
7044 pub const MOUSE_MOVE_RELATIVE
: USHORT
= 0;
7045 pub const MOUSE_MOVE_ABSOLUTE
: USHORT
= 1;
7046 pub const MOUSE_VIRTUAL_DESKTOP
: USHORT
= 0x02;
7047 pub const MOUSE_ATTRIBUTES_CHANGED
: USHORT
= 0x04;
7048 pub const MOUSE_MOVE_NOCOALESCE
: USHORT
= 0x08;
7049 STRUCT
!{struct RAWKEYBOARD
{
7055 ExtraInformation
: ULONG
,
7057 pub type PRAWKEYBOARD
= *mut RAWKEYBOARD
;
7058 pub type LPRAWKEYBOARD
= *mut RAWKEYBOARD
;
7059 pub const KEYBOARD_OVERRUN_MAKE_CODE
: DWORD
= 0xFF;
7060 pub const RI_KEY_MAKE
: DWORD
= 0;
7061 pub const RI_KEY_BREAK
: DWORD
= 1;
7062 pub const RI_KEY_E0
: DWORD
= 2;
7063 pub const RI_KEY_E1
: DWORD
= 4;
7064 pub const RI_KEY_TERMSRV_SET_LED
: DWORD
= 8;
7065 pub const RI_KEY_TERMSRV_SHADOW
: DWORD
= 0x10;
7066 STRUCT
!{struct RAWHID
{
7069 bRawData
: [BYTE
; 1],
7071 pub type PRAWHID
= *mut RAWHID
;
7072 pub type LPRAWHID
= *mut RAWHID
;
7073 UNION
!{union RAWINPUT_data
{
7075 mouse mouse_mut
: RAWMOUSE
,
7076 keyboard keyboard_mut
: RAWKEYBOARD
,
7077 hid hid_mut
: RAWHID
,
7079 STRUCT
!{struct RAWINPUT
{
7080 header
: RAWINPUTHEADER
,
7081 data
: RAWINPUT_data
,
7083 pub type PRAWINPUT
= *mut RAWINPUT
;
7084 pub type LPRAWINPUT
= *mut RAWINPUT
;
7085 pub const RID_INPUT
: DWORD
= 0x10000003;
7086 pub const RID_HEADER
: DWORD
= 0x10000005;
7088 pub fn GetRawInputData(
7089 hRawInput
: HRAWINPUT
,
7096 pub const RIDI_PREPARSEDDATA
: DWORD
= 0x20000005;
7097 pub const RIDI_DEVICENAME
: DWORD
= 0x20000007;
7098 pub const RIDI_DEVICEINFO
: DWORD
= 0x2000000b;
7099 STRUCT
!{struct RID_DEVICE_INFO_MOUSE
{
7101 dwNumberOfButtons
: DWORD
,
7102 dwSampleRate
: DWORD
,
7103 fHasHorizontalWheel
: BOOL
,
7105 pub type PRID_DEVICE_INFO_MOUSE
= *mut RID_DEVICE_INFO_MOUSE
;
7106 STRUCT
!{struct RID_DEVICE_INFO_KEYBOARD
{
7109 dwKeyboardMode
: DWORD
,
7110 dwNumberOfFunctionKeys
: DWORD
,
7111 dwNumberOfIndicators
: DWORD
,
7112 dwNumberOfKeysTotal
: DWORD
,
7114 pub type PRID_DEVICE_INFO_KEYBOARD
= *mut RID_DEVICE_INFO_KEYBOARD
;
7115 STRUCT
!{struct RID_DEVICE_INFO_HID
{
7118 dwVersionNumber
: DWORD
,
7119 usUsagePage
: USHORT
,
7122 pub type PRID_DEVICE_INFO_HID
= *mut RID_DEVICE_INFO_HID
;
7123 UNION
!{union RID_DEVICE_INFO_u
{
7125 mouse mouse_mut
: RID_DEVICE_INFO_MOUSE
,
7126 keyboard keyboard_mut
: RID_DEVICE_INFO_KEYBOARD
,
7127 hid hid_mut
: RID_DEVICE_INFO_HID
,
7129 STRUCT
!{struct RID_DEVICE_INFO
{
7132 u
: RID_DEVICE_INFO_u
,
7134 pub type PRID_DEVICE_INFO
= *mut RID_DEVICE_INFO
;
7135 pub type LPRID_DEVICE_INFO
= *mut RID_DEVICE_INFO
;
7137 pub fn GetRawInputDeviceInfoA(
7143 pub fn GetRawInputDeviceInfoW(
7149 pub fn GetRawInputBuffer(
7155 STRUCT
!{struct RAWINPUTDEVICE
{
7156 usUsagePage
: USHORT
,
7161 pub type PRAWINPUTDEVICE
= *mut RAWINPUTDEVICE
;
7162 pub type LPRAWINPUTDEVICE
= *mut RAWINPUTDEVICE
;
7163 pub type PCRAWINPUTDEVICE
= *const RAWINPUTDEVICE
;
7164 pub const RIDEV_REMOVE
: DWORD
= 0x00000001;
7165 pub const RIDEV_EXCLUDE
: DWORD
= 0x00000010;
7166 pub const RIDEV_PAGEONLY
: DWORD
= 0x00000020;
7167 pub const RIDEV_NOLEGACY
: DWORD
= 0x00000030;
7168 pub const RIDEV_INPUTSINK
: DWORD
= 0x00000100;
7169 pub const RIDEV_CAPTUREMOUSE
: DWORD
= 0x00000200;
7170 pub const RIDEV_NOHOTKEYS
: DWORD
= 0x00000200;
7171 pub const RIDEV_APPKEYS
: DWORD
= 0x00000400;
7172 pub const RIDEV_EXINPUTSINK
: DWORD
= 0x00001000;
7173 pub const RIDEV_DEVNOTIFY
: DWORD
= 0x00002000;
7174 pub const RIDEV_EXMODEMASK
: DWORD
= 0x000000F0;
7175 pub const GIDC_ARRIVAL
: DWORD
= 1;
7176 pub const GIDC_REMOVAL
: DWORD
= 2;
7178 pub fn RegisterRawInputDevices(
7179 pRawInputDevices
: PCRAWINPUTDEVICE
,
7183 pub fn GetRegisteredRawInputDevices(
7184 pRawInputDevices
: PRAWINPUTDEVICE
,
7185 puiNumDevices
: PUINT
,
7189 STRUCT
!{struct RAWINPUTDEVICELIST
{
7193 pub type PRAWINPUTDEVICELIST
= *mut RAWINPUTDEVICELIST
;
7195 pub fn GetRawInputDeviceList(
7196 pRawInputDeviceList
: PRAWINPUTDEVICELIST
,
7197 puiNumDevices
: PUINT
,
7200 pub fn DefRawInputProc(
7201 paRawInput
: *mut PRAWINPUT
,
7205 pub fn ChangeWindowMessageFilter(
7211 STRUCT
!{struct CHANGEFILTERSTRUCT
{
7216 pub fn ChangeWindowMessageFilterEx(
7220 pChangeFilterStruct
: PCHANGEFILTERSTRUCT
,
7223 pub type PCHANGEFILTERSTRUCT
= *mut CHANGEFILTERSTRUCT
;
7225 pub const NID_INTEGRATED_TOUCH
: UINT
= 0x00000001;
7226 pub const NID_EXTERNAL_TOUCH
: UINT
= 0x00000002;
7227 pub const NID_INTEGRATED_PEN
: UINT
= 0x00000004;
7228 pub const NID_EXTERNAL_PEN
: UINT
= 0x00000008;
7229 pub const NID_MULTI_INPUT
: UINT
= 0x00000040;
7230 pub const NID_READY
: UINT
= 0x00000080;
7231 pub const MAX_STR_BLOCKREASON
: usize = 256;
7233 pub fn ShutdownBlockReasonCreate(
7235 pwszReason
: LPCWSTR
,
7237 pub fn ShutdownBlockReasonQuery(
7240 pcchBuff
: *mut DWORD
,
7242 pub fn ShutdownBlockReasonDestroy(
7248 pub fn IsImmersiveProcess(