aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/winuser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/winuser.rs')
-rw-r--r--vendor/winapi/src/um/winuser.rs7251
1 files changed, 0 insertions, 7251 deletions
diff --git a/vendor/winapi/src/um/winuser.rs b/vendor/winapi/src/um/winuser.rs
deleted file mode 100644
index caeb5d9..0000000
--- a/vendor/winapi/src/um/winuser.rs
+++ /dev/null
@@ -1,7251 +0,0 @@
-// Licensed under the Apache License, Version 2.0
-// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
-// All files in the project carrying such notice may not be copied, modified, or distributed
-// except according to those terms.
-//! USER procedure declarations, constant definitions and macros
-use ctypes::{c_int, c_long, c_short, c_uint};
-use shared::basetsd::{
- DWORD_PTR, INT32, INT_PTR, PDWORD_PTR, UINT16, UINT32, UINT64, UINT_PTR, ULONG_PTR,
-};
-#[cfg(target_pointer_width = "64")]
-use shared::basetsd::LONG_PTR;
-use shared::guiddef::{GUID, LPCGUID};
-use shared::minwindef::{
- ATOM, BOOL, BYTE, DWORD, HINSTANCE, HIWORD, HKL, HMODULE, HRGN, HWINSTA, INT, LOWORD, LPARAM,
- LPBYTE, LPDWORD, LPINT, LPVOID, LPWORD, LRESULT, PBYTE, PUINT, PULONG, TRUE, UCHAR, UINT,
- ULONG, USHORT, WORD, WPARAM,
-};
-use shared::windef::{
- COLORREF, DPI_AWARENESS, DPI_AWARENESS_CONTEXT, DPI_HOSTING_BEHAVIOR, HACCEL, HBITMAP, HBRUSH,
- HCURSOR, HDC, HDESK, HHOOK, HICON, HMENU, HMONITOR, HWINEVENTHOOK, HWND, LPCRECT, LPPOINT,
- LPRECT, POINT, RECT, SIZE,
-};
-use um::minwinbase::LPSECURITY_ATTRIBUTES;
-use um::wingdi::{
- BLENDFUNCTION, DEVMODEA, DEVMODEW, LOGFONTA, LOGFONTW, PDISPLAY_DEVICEA, PDISPLAY_DEVICEW
-};
-use um::winnt::{
- ACCESS_MASK, BOOLEAN, CHAR, HANDLE, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, LUID,
- PSECURITY_DESCRIPTOR, PSECURITY_INFORMATION, PVOID, SHORT, VOID, WCHAR,
-};
-use vc::limits::UINT_MAX;
-use vc::vadefs::va_list;
-pub type HDWP = HANDLE;
-pub type MENUTEMPLATEA = VOID;
-pub type MENUTEMPLATEW = VOID;
-pub type LPMENUTEMPLATEA = PVOID;
-pub type LPMENUTEMPLATEW = PVOID;
-FN!{stdcall WNDPROC(
- HWND,
- UINT,
- WPARAM,
- LPARAM,
-) -> LRESULT}
-FN!{stdcall DLGPROC(
- HWND,
- UINT,
- WPARAM,
- LPARAM,
-) -> INT_PTR}
-FN!{stdcall TIMERPROC(
- HWND,
- UINT,
- UINT_PTR,
- DWORD,
-) -> ()}
-FN!{stdcall GRAYSTRINGPROC(
- HDC,
- LPARAM,
- c_int,
-) -> BOOL}
-FN!{stdcall WNDENUMPROC(
- HWND,
- LPARAM,
-) -> BOOL}
-FN!{stdcall HOOKPROC(
- code: c_int,
- wParam: WPARAM,
- lParam: LPARAM,
-) -> LRESULT}
-FN!{stdcall SENDASYNCPROC(
- HWND,
- UINT,
- ULONG_PTR,
- LRESULT,
-) -> ()}
-FN!{stdcall PROPENUMPROCA(
- HWND,
- LPCSTR,
- HANDLE,
-) -> BOOL}
-FN!{stdcall PROPENUMPROCW(
- HWND,
- LPCWSTR,
- HANDLE,
-) -> BOOL}
-FN!{stdcall PROPENUMPROCEXA(
- HWND,
- LPSTR,
- HANDLE,
- ULONG_PTR,
-) -> BOOL}
-FN!{stdcall PROPENUMPROCEXW(
- HWND,
- LPWSTR,
- HANDLE,
- ULONG_PTR,
-) -> BOOL}
-FN!{stdcall EDITWORDBREAKPROCA(
- lpch: LPSTR,
- ichCurrent: c_int,
- cch: c_int,
- code: c_int,
-) -> c_int}
-FN!{stdcall EDITWORDBREAKPROCW(
- lpch: LPWSTR,
- ichCurrent: c_int,
- cch: c_int,
- code: c_int,
-) -> c_int}
-FN!{stdcall DRAWSTATEPROC(
- hdc: HDC,
- lData: LPARAM,
- wData: WPARAM,
- cx: c_int,
- cy: c_int,
-) -> BOOL}
-FN!{stdcall NAMEENUMPROCA(
- LPSTR,
- LPARAM,
-) -> BOOL}
-FN!{stdcall NAMEENUMPROCW(
- LPWSTR,
- LPARAM,
-) -> BOOL}
-pub type WINSTAENUMPROCA = NAMEENUMPROCA;
-pub type DESKTOPENUMPROCA = NAMEENUMPROCA;
-pub type WINSTAENUMPROCW = NAMEENUMPROCW;
-pub type DESKTOPENUMPROCW = NAMEENUMPROCW;
-#[inline]
-pub fn IS_INTRESOURCE(r: ULONG_PTR) -> bool {
- (r >> 16) == 0
-}
-#[inline]
-pub fn MAKEINTRESOURCEA(i: WORD) -> LPSTR {
- i as ULONG_PTR as LPSTR
-}
-#[inline]
-pub fn MAKEINTRESOURCEW(i: WORD) -> LPWSTR {
- i as ULONG_PTR as LPWSTR
-}
-pub const RT_CURSOR: LPWSTR = MAKEINTRESOURCE!(1);
-pub const RT_BITMAP: LPWSTR = MAKEINTRESOURCE!(2);
-pub const RT_ICON: LPWSTR = MAKEINTRESOURCE!(3);
-pub const RT_MENU: LPWSTR = MAKEINTRESOURCE!(4);
-pub const RT_DIALOG: LPWSTR = MAKEINTRESOURCE!(5);
-pub const RT_STRING: LPWSTR = MAKEINTRESOURCE!(6);
-pub const RT_FONTDIR: LPWSTR = MAKEINTRESOURCE!(7);
-pub const RT_FONT: LPWSTR = MAKEINTRESOURCE!(8);
-pub const RT_ACCELERATOR: LPWSTR = MAKEINTRESOURCE!(9);
-pub const RT_RCDATA: LPWSTR = MAKEINTRESOURCE!(10);
-pub const RT_MESSAGETABLE: LPWSTR = MAKEINTRESOURCE!(11);
-pub const DIFFERENCE: WORD = 11;
-pub const RT_GROUP_CURSOR: LPWSTR = MAKEINTRESOURCE!(1 + DIFFERENCE);
-pub const RT_GROUP_ICON: LPWSTR = MAKEINTRESOURCE!(3 + DIFFERENCE);
-pub const RT_VERSION: LPWSTR = MAKEINTRESOURCE!(16);
-pub const RT_DLGINCLUDE: LPWSTR = MAKEINTRESOURCE!(17);
-pub const RT_PLUGPLAY: LPWSTR = MAKEINTRESOURCE!(19);
-pub const RT_VXD: LPWSTR = MAKEINTRESOURCE!(20);
-pub const RT_ANICURSOR: LPWSTR = MAKEINTRESOURCE!(21);
-pub const RT_ANIICON: LPWSTR = MAKEINTRESOURCE!(22);
-pub const RT_HTML: LPWSTR = MAKEINTRESOURCE!(23);
-pub const RT_MANIFEST: LPWSTR = MAKEINTRESOURCE!(24);
-pub const CREATEPROCESS_MANIFEST_RESOURCE_ID: LPWSTR = MAKEINTRESOURCE!(1);
-pub const ISOLATIONAWARE_MANIFEST_RESOURCE_ID: LPWSTR = MAKEINTRESOURCE!(2);
-pub const ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID: LPWSTR
- = MAKEINTRESOURCE!(3);
-pub const MINIMUM_RESERVED_MANIFEST_RESOURCE_ID: LPWSTR = MAKEINTRESOURCE!(1);
-pub const MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID: LPWSTR = MAKEINTRESOURCE!(16);
-extern "system" {
- pub fn wvsprintfA(
- _: LPSTR,
- _: LPCSTR,
- arglist: va_list,
- ) -> c_int;
- pub fn wvsprintfW(
- _: LPWSTR,
- _: LPCWSTR,
- arglist: va_list,
- ) -> c_int;
-}
-extern "C" {
- pub fn wsprintfA(
- _: LPSTR,
- _: LPCSTR,
- ...
- ) -> c_int;
- pub fn wsprintfW(
- _: LPWSTR,
- _: LPCWSTR,
- ...
- ) -> c_int;
-}
-pub const SETWALLPAPER_DEFAULT: LPWSTR = -1isize as LPWSTR;
-pub const SB_HORZ: UINT = 0;
-pub const SB_VERT: UINT = 1;
-pub const SB_CTL: UINT = 2;
-pub const SB_BOTH: UINT = 3;
-pub const SB_LINEUP: LPARAM = 0;
-pub const SB_LINELEFT: LPARAM = 0;
-pub const SB_LINEDOWN: LPARAM = 1;
-pub const SB_LINERIGHT: LPARAM = 1;
-pub const SB_PAGEUP: LPARAM = 2;
-pub const SB_PAGELEFT: LPARAM = 2;
-pub const SB_PAGEDOWN: LPARAM = 3;
-pub const SB_PAGERIGHT: LPARAM = 3;
-pub const SB_THUMBPOSITION: LPARAM = 4;
-pub const SB_THUMBTRACK: LPARAM = 5;
-pub const SB_TOP: LPARAM = 6;
-pub const SB_LEFT: LPARAM = 6;
-pub const SB_BOTTOM: LPARAM = 7;
-pub const SB_RIGHT: LPARAM = 7;
-pub const SB_ENDSCROLL: LPARAM = 8;
-pub const SW_HIDE: c_int = 0;
-pub const SW_SHOWNORMAL: c_int = 1;
-pub const SW_NORMAL: c_int = 1;
-pub const SW_SHOWMINIMIZED: c_int = 2;
-pub const SW_SHOWMAXIMIZED: c_int = 3;
-pub const SW_MAXIMIZE: c_int = 3;
-pub const SW_SHOWNOACTIVATE: c_int = 4;
-pub const SW_SHOW: c_int = 5;
-pub const SW_MINIMIZE: c_int = 6;
-pub const SW_SHOWMINNOACTIVE: c_int = 7;
-pub const SW_SHOWNA: c_int = 8;
-pub const SW_RESTORE: c_int = 9;
-pub const SW_SHOWDEFAULT: c_int = 10;
-pub const SW_FORCEMINIMIZE: c_int = 11;
-pub const SW_MAX: c_int = 11;
-pub const HIDE_WINDOW: c_int = 0;
-pub const SHOW_OPENWINDOW: c_int = 1;
-pub const SHOW_ICONWINDOW: c_int = 2;
-pub const SHOW_FULLSCREEN: c_int = 3;
-pub const SHOW_OPENNOACTIVATE: c_int = 4;
-pub const SW_PARENTCLOSING: LPARAM = 1;
-pub const SW_OTHERZOOM: LPARAM = 2;
-pub const SW_PARENTOPENING: LPARAM = 3;
-pub const SW_OTHERUNZOOM: LPARAM = 4;
-pub const AW_HOR_POSITIVE: DWORD = 0x00000001;
-pub const AW_HOR_NEGATIVE: DWORD = 0x00000002;
-pub const AW_VER_POSITIVE: DWORD = 0x00000004;
-pub const AW_VER_NEGATIVE: DWORD = 0x00000008;
-pub const AW_CENTER: DWORD = 0x00000010;
-pub const AW_HIDE: DWORD = 0x00010000;
-pub const AW_ACTIVATE: DWORD = 0x00020000;
-pub const AW_SLIDE: DWORD = 0x00040000;
-pub const AW_BLEND: DWORD = 0x00080000;
-pub const KF_EXTENDED: WORD = 0x0100;
-pub const KF_DLGMODE: WORD = 0x0800;
-pub const KF_MENUMODE: WORD = 0x1000;
-pub const KF_ALTDOWN: WORD = 0x2000;
-pub const KF_REPEAT: WORD = 0x4000;
-pub const KF_UP: WORD = 0x8000;
-pub const VK_LBUTTON: c_int = 0x01;
-pub const VK_RBUTTON: c_int = 0x02;
-pub const VK_CANCEL: c_int = 0x03;
-pub const VK_MBUTTON: c_int = 0x04;
-pub const VK_XBUTTON1: c_int = 0x05;
-pub const VK_XBUTTON2: c_int = 0x06;
-pub const VK_BACK: c_int = 0x08;
-pub const VK_TAB: c_int = 0x09;
-pub const VK_CLEAR: c_int = 0x0C;
-pub const VK_RETURN: c_int = 0x0D;
-pub const VK_SHIFT: c_int = 0x10;
-pub const VK_CONTROL: c_int = 0x11;
-pub const VK_MENU: c_int = 0x12;
-pub const VK_PAUSE: c_int = 0x13;
-pub const VK_CAPITAL: c_int = 0x14;
-pub const VK_KANA: c_int = 0x15;
-pub const VK_HANGEUL: c_int = 0x15;
-pub const VK_HANGUL: c_int = 0x15;
-pub const VK_JUNJA: c_int = 0x17;
-pub const VK_FINAL: c_int = 0x18;
-pub const VK_HANJA: c_int = 0x19;
-pub const VK_KANJI: c_int = 0x19;
-pub const VK_ESCAPE: c_int = 0x1B;
-pub const VK_CONVERT: c_int = 0x1C;
-pub const VK_NONCONVERT: c_int = 0x1D;
-pub const VK_ACCEPT: c_int = 0x1E;
-pub const VK_MODECHANGE: c_int = 0x1F;
-pub const VK_SPACE: c_int = 0x20;
-pub const VK_PRIOR: c_int = 0x21;
-pub const VK_NEXT: c_int = 0x22;
-pub const VK_END: c_int = 0x23;
-pub const VK_HOME: c_int = 0x24;
-pub const VK_LEFT: c_int = 0x25;
-pub const VK_UP: c_int = 0x26;
-pub const VK_RIGHT: c_int = 0x27;
-pub const VK_DOWN: c_int = 0x28;
-pub const VK_SELECT: c_int = 0x29;
-pub const VK_PRINT: c_int = 0x2A;
-pub const VK_EXECUTE: c_int = 0x2B;
-pub const VK_SNAPSHOT: c_int = 0x2C;
-pub const VK_INSERT: c_int = 0x2D;
-pub const VK_DELETE: c_int = 0x2E;
-pub const VK_HELP: c_int = 0x2F;
-pub const VK_LWIN: c_int = 0x5B;
-pub const VK_RWIN: c_int = 0x5C;
-pub const VK_APPS: c_int = 0x5D;
-pub const VK_SLEEP: c_int = 0x5F;
-pub const VK_NUMPAD0: c_int = 0x60;
-pub const VK_NUMPAD1: c_int = 0x61;
-pub const VK_NUMPAD2: c_int = 0x62;
-pub const VK_NUMPAD3: c_int = 0x63;
-pub const VK_NUMPAD4: c_int = 0x64;
-pub const VK_NUMPAD5: c_int = 0x65;
-pub const VK_NUMPAD6: c_int = 0x66;
-pub const VK_NUMPAD7: c_int = 0x67;
-pub const VK_NUMPAD8: c_int = 0x68;
-pub const VK_NUMPAD9: c_int = 0x69;
-pub const VK_MULTIPLY: c_int = 0x6A;
-pub const VK_ADD: c_int = 0x6B;
-pub const VK_SEPARATOR: c_int = 0x6C;
-pub const VK_SUBTRACT: c_int = 0x6D;
-pub const VK_DECIMAL: c_int = 0x6E;
-pub const VK_DIVIDE: c_int = 0x6F;
-pub const VK_F1: c_int = 0x70;
-pub const VK_F2: c_int = 0x71;
-pub const VK_F3: c_int = 0x72;
-pub const VK_F4: c_int = 0x73;
-pub const VK_F5: c_int = 0x74;
-pub const VK_F6: c_int = 0x75;
-pub const VK_F7: c_int = 0x76;
-pub const VK_F8: c_int = 0x77;
-pub const VK_F9: c_int = 0x78;
-pub const VK_F10: c_int = 0x79;
-pub const VK_F11: c_int = 0x7A;
-pub const VK_F12: c_int = 0x7B;
-pub const VK_F13: c_int = 0x7C;
-pub const VK_F14: c_int = 0x7D;
-pub const VK_F15: c_int = 0x7E;
-pub const VK_F16: c_int = 0x7F;
-pub const VK_F17: c_int = 0x80;
-pub const VK_F18: c_int = 0x81;
-pub const VK_F19: c_int = 0x82;
-pub const VK_F20: c_int = 0x83;
-pub const VK_F21: c_int = 0x84;
-pub const VK_F22: c_int = 0x85;
-pub const VK_F23: c_int = 0x86;
-pub const VK_F24: c_int = 0x87;
-pub const VK_NAVIGATION_VIEW: c_int = 0x88;
-pub const VK_NAVIGATION_MENU: c_int = 0x89;
-pub const VK_NAVIGATION_UP: c_int = 0x8A;
-pub const VK_NAVIGATION_DOWN: c_int = 0x8B;
-pub const VK_NAVIGATION_LEFT: c_int = 0x8C;
-pub const VK_NAVIGATION_RIGHT: c_int = 0x8D;
-pub const VK_NAVIGATION_ACCEPT: c_int = 0x8E;
-pub const VK_NAVIGATION_CANCEL: c_int = 0x8F;
-pub const VK_NUMLOCK: c_int = 0x90;
-pub const VK_SCROLL: c_int = 0x91;
-pub const VK_OEM_NEC_EQUAL: c_int = 0x92;
-pub const VK_OEM_FJ_JISHO: c_int = 0x92;
-pub const VK_OEM_FJ_MASSHOU: c_int = 0x93;
-pub const VK_OEM_FJ_TOUROKU: c_int = 0x94;
-pub const VK_OEM_FJ_LOYA: c_int = 0x95;
-pub const VK_OEM_FJ_ROYA: c_int = 0x96;
-pub const VK_LSHIFT: c_int = 0xA0;
-pub const VK_RSHIFT: c_int = 0xA1;
-pub const VK_LCONTROL: c_int = 0xA2;
-pub const VK_RCONTROL: c_int = 0xA3;
-pub const VK_LMENU: c_int = 0xA4;
-pub const VK_RMENU: c_int = 0xA5;
-pub const VK_BROWSER_BACK: c_int = 0xA6;
-pub const VK_BROWSER_FORWARD: c_int = 0xA7;
-pub const VK_BROWSER_REFRESH: c_int = 0xA8;
-pub const VK_BROWSER_STOP: c_int = 0xA9;
-pub const VK_BROWSER_SEARCH: c_int = 0xAA;
-pub const VK_BROWSER_FAVORITES: c_int = 0xAB;
-pub const VK_BROWSER_HOME: c_int = 0xAC;
-pub const VK_VOLUME_MUTE: c_int = 0xAD;
-pub const VK_VOLUME_DOWN: c_int = 0xAE;
-pub const VK_VOLUME_UP: c_int = 0xAF;
-pub const VK_MEDIA_NEXT_TRACK: c_int = 0xB0;
-pub const VK_MEDIA_PREV_TRACK: c_int = 0xB1;
-pub const VK_MEDIA_STOP: c_int = 0xB2;
-pub const VK_MEDIA_PLAY_PAUSE: c_int = 0xB3;
-pub const VK_LAUNCH_MAIL: c_int = 0xB4;
-pub const VK_LAUNCH_MEDIA_SELECT: c_int = 0xB5;
-pub const VK_LAUNCH_APP1: c_int = 0xB6;
-pub const VK_LAUNCH_APP2: c_int = 0xB7;
-pub const VK_OEM_1: c_int = 0xBA;
-pub const VK_OEM_PLUS: c_int = 0xBB;
-pub const VK_OEM_COMMA: c_int = 0xBC;
-pub const VK_OEM_MINUS: c_int = 0xBD;
-pub const VK_OEM_PERIOD: c_int = 0xBE;
-pub const VK_OEM_2: c_int = 0xBF;
-pub const VK_OEM_3: c_int = 0xC0;
-pub const VK_GAMEPAD_A: c_int = 0xC3;
-pub const VK_GAMEPAD_B: c_int = 0xC4;
-pub const VK_GAMEPAD_X: c_int = 0xC5;
-pub const VK_GAMEPAD_Y: c_int = 0xC6;
-pub const VK_GAMEPAD_RIGHT_SHOULDER: c_int = 0xC7;
-pub const VK_GAMEPAD_LEFT_SHOULDER: c_int = 0xC8;
-pub const VK_GAMEPAD_LEFT_TRIGGER: c_int = 0xC9;
-pub const VK_GAMEPAD_RIGHT_TRIGGER: c_int = 0xCA;
-pub const VK_GAMEPAD_DPAD_UP: c_int = 0xCB;
-pub const VK_GAMEPAD_DPAD_DOWN: c_int = 0xCC;
-pub const VK_GAMEPAD_DPAD_LEFT: c_int = 0xCD;
-pub const VK_GAMEPAD_DPAD_RIGHT: c_int = 0xCE;
-pub const VK_GAMEPAD_MENU: c_int = 0xCF;
-pub const VK_GAMEPAD_VIEW: c_int = 0xD0;
-pub const VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON: c_int = 0xD1;
-pub const VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON: c_int = 0xD2;
-pub const VK_GAMEPAD_LEFT_THUMBSTICK_UP: c_int = 0xD3;
-pub const VK_GAMEPAD_LEFT_THUMBSTICK_DOWN: c_int = 0xD4;
-pub const VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT: c_int = 0xD5;
-pub const VK_GAMEPAD_LEFT_THUMBSTICK_LEFT: c_int = 0xD6;
-pub const VK_GAMEPAD_RIGHT_THUMBSTICK_UP: c_int = 0xD7;
-pub const VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN: c_int = 0xD8;
-pub const VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT: c_int = 0xD9;
-pub const VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT: c_int = 0xDA;
-pub const VK_OEM_4: c_int = 0xDB;
-pub const VK_OEM_5: c_int = 0xDC;
-pub const VK_OEM_6: c_int = 0xDD;
-pub const VK_OEM_7: c_int = 0xDE;
-pub const VK_OEM_8: c_int = 0xDF;
-pub const VK_OEM_AX: c_int = 0xE1;
-pub const VK_OEM_102: c_int = 0xE2;
-pub const VK_ICO_HELP: c_int = 0xE3;
-pub const VK_ICO_00: c_int = 0xE4;
-pub const VK_PROCESSKEY: c_int = 0xE5;
-pub const VK_ICO_CLEAR: c_int = 0xE6;
-pub const VK_PACKET: c_int = 0xE7;
-pub const VK_OEM_RESET: c_int = 0xE9;
-pub const VK_OEM_JUMP: c_int = 0xEA;
-pub const VK_OEM_PA1: c_int = 0xEB;
-pub const VK_OEM_PA2: c_int = 0xEC;
-pub const VK_OEM_PA3: c_int = 0xED;
-pub const VK_OEM_WSCTRL: c_int = 0xEE;
-pub const VK_OEM_CUSEL: c_int = 0xEF;
-pub const VK_OEM_ATTN: c_int = 0xF0;
-pub const VK_OEM_FINISH: c_int = 0xF1;
-pub const VK_OEM_COPY: c_int = 0xF2;
-pub const VK_OEM_AUTO: c_int = 0xF3;
-pub const VK_OEM_ENLW: c_int = 0xF4;
-pub const VK_OEM_BACKTAB: c_int = 0xF5;
-pub const VK_ATTN: c_int = 0xF6;
-pub const VK_CRSEL: c_int = 0xF7;
-pub const VK_EXSEL: c_int = 0xF8;
-pub const VK_EREOF: c_int = 0xF9;
-pub const VK_PLAY: c_int = 0xFA;
-pub const VK_ZOOM: c_int = 0xFB;
-pub const VK_NONAME: c_int = 0xFC;
-pub const VK_PA1: c_int = 0xFD;
-pub const VK_OEM_CLEAR: c_int = 0xFE;
-pub const WH_MIN: c_int = -1;
-pub const WH_MSGFILTER: c_int = -1;
-pub const WH_JOURNALRECORD: c_int = 0;
-pub const WH_JOURNALPLAYBACK: c_int = 1;
-pub const WH_KEYBOARD: c_int = 2;
-pub const WH_GETMESSAGE: c_int = 3;
-pub const WH_CALLWNDPROC: c_int = 4;
-pub const WH_CBT: c_int = 5;
-pub const WH_SYSMSGFILTER: c_int = 6;
-pub const WH_MOUSE: c_int = 7;
-pub const WH_HARDWARE: c_int = 8;
-pub const WH_DEBUG: c_int = 9;
-pub const WH_SHELL: c_int = 10;
-pub const WH_FOREGROUNDIDLE: c_int = 11;
-pub const WH_CALLWNDPROCRET: c_int = 12;
-pub const WH_KEYBOARD_LL: c_int = 13;
-pub const WH_MOUSE_LL: c_int = 14;
-pub const WH_MAX: c_int = 14;
-pub const WH_MINHOOK: c_int = WH_MIN;
-pub const WH_MAXHOOK: c_int = WH_MAX;
-pub const HC_ACTION: c_int = 0;
-pub const HC_GETNEXT: c_int = 1;
-pub const HC_SKIP: c_int = 2;
-pub const HC_NOREMOVE: c_int = 3;
-pub const HC_NOREM: c_int = HC_NOREMOVE;
-pub const HC_SYSMODALON: c_int = 4;
-pub const HC_SYSMODALOFF: c_int = 5;
-pub const HCBT_MOVESIZE: c_int = 0;
-pub const HCBT_MINMAX: c_int = 1;
-pub const HCBT_QS: c_int = 2;
-pub const HCBT_CREATEWND: c_int = 3;
-pub const HCBT_DESTROYWND: c_int = 4;
-pub const HCBT_ACTIVATE: c_int = 5;
-pub const HCBT_CLICKSKIPPED: c_int = 6;
-pub const HCBT_KEYSKIPPED: c_int = 7;
-pub const HCBT_SYSCOMMAND: c_int = 8;
-pub const HCBT_SETFOCUS: c_int = 9;
-STRUCT!{struct CBT_CREATEWNDA {
- lpcs: *mut CREATESTRUCTA,
- hwndInsertAfter: HWND,
-}}
-pub type LPCBT_CREATEWNDA = *mut CBT_CREATEWNDA;
-STRUCT!{struct CBT_CREATEWNDW {
- lpcs: *mut CREATESTRUCTW,
- hwndInsertAfter: HWND,
-}}
-pub type LPCBT_CREATEWNDW = *mut CBT_CREATEWNDW;
-STRUCT!{struct CBTACTIVATESTRUCT {
- fMouse: BOOL,
- hWndActive: HWND,
-}}
-pub type LPCBTACTIVATESTRUCT = *mut CBTACTIVATESTRUCT;
-STRUCT!{struct WTSSESSION_NOTIFICATION {
- cbSize: DWORD,
- dwSessionId: DWORD,
-}}
-pub type PWTSSESSION_NOTIFICATION = *mut WTSSESSION_NOTIFICATION;
-pub const WTS_CONSOLE_CONNECT: WPARAM = 0x1;
-pub const WTS_CONSOLE_DISCONNECT: WPARAM = 0x2;
-pub const WTS_REMOTE_CONNECT: WPARAM = 0x3;
-pub const WTS_REMOTE_DISCONNECT: WPARAM = 0x4;
-pub const WTS_SESSION_LOGON: WPARAM = 0x5;
-pub const WTS_SESSION_LOGOFF: WPARAM = 0x6;
-pub const WTS_SESSION_LOCK: WPARAM = 0x7;
-pub const WTS_SESSION_UNLOCK: WPARAM = 0x8;
-pub const WTS_SESSION_REMOTE_CONTROL: WPARAM = 0x9;
-pub const WTS_SESSION_CREATE: WPARAM = 0xa;
-pub const WTS_SESSION_TERMINATE: WPARAM = 0xb;
-pub const MSGF_DIALOGBOX: c_int = 0;
-pub const MSGF_MESSAGEBOX: c_int = 1;
-pub const MSGF_MENU: c_int = 2;
-pub const MSGF_SCROLLBAR: c_int = 5;
-pub const MSGF_NEXTWINDOW: c_int = 6;
-pub const MSGF_MAX: c_int = 8;
-pub const MSGF_USER: c_int = 4096;
-pub const HSHELL_WINDOWCREATED: c_int = 1;
-pub const HSHELL_WINDOWDESTROYED: c_int = 2;
-pub const HSHELL_ACTIVATESHELLWINDOW: c_int = 3;
-pub const HSHELL_WINDOWACTIVATED: c_int = 4;
-pub const HSHELL_GETMINRECT: c_int = 5;
-pub const HSHELL_REDRAW: c_int = 6;
-pub const HSHELL_TASKMAN: c_int = 7;
-pub const HSHELL_LANGUAGE: c_int = 8;
-pub const HSHELL_SYSMENU: c_int = 9;
-pub const HSHELL_ENDTASK: c_int = 10;
-pub const HSHELL_ACCESSIBILITYSTATE: c_int = 11;
-pub const HSHELL_APPCOMMAND: c_int = 12;
-pub const HSHELL_WINDOWREPLACED: c_int = 13;
-pub const HSHELL_WINDOWREPLACING: c_int = 14;
-pub const HSHELL_MONITORCHANGED: c_int = 16;
-pub const HSHELL_HIGHBIT: c_int = 0x8000;
-pub const HSHELL_FLASH: c_int = HSHELL_REDRAW | HSHELL_HIGHBIT;
-pub const HSHELL_RUDEAPPACTIVATED: c_int = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT;
-pub const APPCOMMAND_BROWSER_BACKWARD: c_short = 1;
-pub const APPCOMMAND_BROWSER_FORWARD: c_short = 2;
-pub const APPCOMMAND_BROWSER_REFRESH: c_short = 3;
-pub const APPCOMMAND_BROWSER_STOP: c_short = 4;
-pub const APPCOMMAND_BROWSER_SEARCH: c_short = 5;
-pub const APPCOMMAND_BROWSER_FAVORITES: c_short = 6;
-pub const APPCOMMAND_BROWSER_HOME: c_short = 7;
-pub const APPCOMMAND_VOLUME_MUTE: c_short = 8;
-pub const APPCOMMAND_VOLUME_DOWN: c_short = 9;
-pub const APPCOMMAND_VOLUME_UP: c_short = 10;
-pub const APPCOMMAND_MEDIA_NEXTTRACK: c_short = 11;
-pub const APPCOMMAND_MEDIA_PREVIOUSTRACK: c_short = 12;
-pub const APPCOMMAND_MEDIA_STOP: c_short = 13;
-pub const APPCOMMAND_MEDIA_PLAY_PAUSE: c_short = 14;
-pub const APPCOMMAND_LAUNCH_MAIL: c_short = 15;
-pub const APPCOMMAND_LAUNCH_MEDIA_SELECT: c_short = 16;
-pub const APPCOMMAND_LAUNCH_APP1: c_short = 17;
-pub const APPCOMMAND_LAUNCH_APP2: c_short = 18;
-pub const APPCOMMAND_BASS_DOWN: c_short = 19;
-pub const APPCOMMAND_BASS_BOOST: c_short = 20;
-pub const APPCOMMAND_BASS_UP: c_short = 21;
-pub const APPCOMMAND_TREBLE_DOWN: c_short = 22;
-pub const APPCOMMAND_TREBLE_UP: c_short = 23;
-pub const APPCOMMAND_MICROPHONE_VOLUME_MUTE: c_short = 24;
-pub const APPCOMMAND_MICROPHONE_VOLUME_DOWN: c_short = 25;
-pub const APPCOMMAND_MICROPHONE_VOLUME_UP: c_short = 26;
-pub const APPCOMMAND_HELP: c_short = 27;
-pub const APPCOMMAND_FIND: c_short = 28;
-pub const APPCOMMAND_NEW: c_short = 29;
-pub const APPCOMMAND_OPEN: c_short = 30;
-pub const APPCOMMAND_CLOSE: c_short = 31;
-pub const APPCOMMAND_SAVE: c_short = 32;
-pub const APPCOMMAND_PRINT: c_short = 33;
-pub const APPCOMMAND_UNDO: c_short = 34;
-pub const APPCOMMAND_REDO: c_short = 35;
-pub const APPCOMMAND_COPY: c_short = 36;
-pub const APPCOMMAND_CUT: c_short = 37;
-pub const APPCOMMAND_PASTE: c_short = 38;
-pub const APPCOMMAND_REPLY_TO_MAIL: c_short = 39;
-pub const APPCOMMAND_FORWARD_MAIL: c_short = 40;
-pub const APPCOMMAND_SEND_MAIL: c_short = 41;
-pub const APPCOMMAND_SPELL_CHECK: c_short = 42;
-pub const APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE: c_short = 43;
-pub const APPCOMMAND_MIC_ON_OFF_TOGGLE: c_short = 44;
-pub const APPCOMMAND_CORRECTION_LIST: c_short = 45;
-pub const APPCOMMAND_MEDIA_PLAY: c_short = 46;
-pub const APPCOMMAND_MEDIA_PAUSE: c_short = 47;
-pub const APPCOMMAND_MEDIA_RECORD: c_short = 48;
-pub const APPCOMMAND_MEDIA_FAST_FORWARD: c_short = 49;
-pub const APPCOMMAND_MEDIA_REWIND: c_short = 50;
-pub const APPCOMMAND_MEDIA_CHANNEL_UP: c_short = 51;
-pub const APPCOMMAND_MEDIA_CHANNEL_DOWN: c_short = 52;
-pub const APPCOMMAND_DELETE: c_short = 53;
-pub const APPCOMMAND_DWM_FLIP3D: c_short = 54;
-pub const FAPPCOMMAND_MOUSE: WORD = 0x8000;
-pub const FAPPCOMMAND_KEY: WORD = 0;
-pub const FAPPCOMMAND_OEM: WORD = 0x1000;
-pub const FAPPCOMMAND_MASK: WORD = 0xF000;
-#[inline]
-pub fn GET_APPCOMMAND_LPARAM(lParam: LPARAM) -> c_short {
- (HIWORD(lParam as DWORD) & !FAPPCOMMAND_MASK) as c_short
-}
-#[inline]
-pub fn GET_DEVICE_LPARAM(lParam: LPARAM) -> WORD {
- HIWORD(lParam as DWORD) & FAPPCOMMAND_MASK
-}
-pub use self::GET_DEVICE_LPARAM as GET_MOUSEORKEY_LPARAM;
-pub use shared::minwindef::LOWORD as GET_FLAGS_LPARAM;
-pub use self::GET_FLAGS_LPARAM as GET_KEYSTATE_LPARAM;
-STRUCT!{struct SHELLHOOKINFO {
- hwnd: HWND,
- rc: RECT,
-}}
-pub type LPSHELLHOOKINFO = *mut SHELLHOOKINFO;
-STRUCT!{struct EVENTMSG {
- message: UINT,
- paramL: UINT,
- paramH: UINT,
- time: DWORD,
- hwnd: HWND,
-}}
-pub type PEVENTMSGMSG = *mut EVENTMSG;
-pub type NPEVENTMSGMSG = *mut EVENTMSG;
-pub type LPEVENTMSGMSG = *mut EVENTMSG;
-pub type PEVENTMSG = *mut EVENTMSG;
-pub type NPEVENTMSG = *mut EVENTMSG;
-pub type LPEVENTMSG = *mut EVENTMSG;
-STRUCT!{struct CWPSTRUCT {
- lParam: LPARAM,
- wParam: WPARAM,
- message: UINT,
- hwnd: HWND,
-}}
-pub type PCWPSTRUCT = *mut CWPSTRUCT;
-pub type NPCWPSTRUCT = *mut CWPSTRUCT;
-pub type LPCWPSTRUCT = *mut CWPSTRUCT;
-STRUCT!{struct CWPRETSTRUCT {
- lResult: LRESULT,
- lParam: LPARAM,
- wParam: WPARAM,
- message: UINT,
- hwnd: HWND,
-}}
-pub type PCWPRETSTRUCT = *mut CWPRETSTRUCT;
-pub type NPCWPRETSTRUCT = *mut CWPRETSTRUCT;
-pub type LPCWPRETSTRUCT = *mut CWPRETSTRUCT;
-pub const LLKHF_EXTENDED: DWORD = (KF_EXTENDED >> 8) as u32;
-pub const LLKHF_INJECTED: DWORD = 0x00000010;
-pub const LLKHF_ALTDOWN: DWORD = (KF_ALTDOWN >> 8) as u32;
-pub const LLKHF_UP: DWORD = (KF_UP >> 8) as u32;
-pub const LLKHF_LOWER_IL_INJECTED: DWORD = 0x00000002;
-pub const LLMHF_INJECTED: DWORD = 0x00000001;
-pub const LLMHF_LOWER_IL_INJECTED: DWORD = 0x00000002;
-STRUCT!{struct KBDLLHOOKSTRUCT {
- vkCode: DWORD,
- scanCode: DWORD,
- flags: DWORD,
- time: DWORD,
- dwExtraInfo: ULONG_PTR,
-}}
-pub type LPKBDLLHOOKSTRUCT = *mut KBDLLHOOKSTRUCT;
-pub type PKBDLLHOOKSTRUCT = *mut KBDLLHOOKSTRUCT;
-STRUCT!{struct MSLLHOOKSTRUCT {
- pt: POINT,
- mouseData: DWORD,
- flags: DWORD,
- time: DWORD,
- dwExtraInfo: ULONG_PTR,
-}}
-pub type LPMSLLHOOKSTRUCT = *mut MSLLHOOKSTRUCT;
-pub type PMSLLHOOKSTRUCT = *mut MSLLHOOKSTRUCT;
-STRUCT!{struct DEBUGHOOKINFO {
- idThread: DWORD,
- idThreadInstaller: DWORD,
- lParam: LPARAM,
- wParam: WPARAM,
- code: c_int,
-}}
-pub type PDEBUGHOOKINFO = *mut DEBUGHOOKINFO;
-pub type NPDEBUGHOOKINFO = *mut DEBUGHOOKINFO;
-pub type LPDEBUGHOOKINFO = *mut DEBUGHOOKINFO;
-STRUCT!{struct MOUSEHOOKSTRUCT {
- pt: POINT,
- hwnd: HWND,
- wHitTestCode: UINT,
- dwExtraInfo: ULONG_PTR,
-}}
-pub type LPMOUSEHOOKSTRUCT = *mut MOUSEHOOKSTRUCT;
-pub type PMOUSEHOOKSTRUCT = *mut MOUSEHOOKSTRUCT;
-STRUCT!{struct MOUSEHOOKSTRUCTEX {
- parent: MOUSEHOOKSTRUCT,
- mouseData: DWORD,
-}}
-pub type LPMOUSEHOOKSTRUCTEX = *mut MOUSEHOOKSTRUCTEX;
-pub type PMOUSEHOOKSTRUCTEX = *mut MOUSEHOOKSTRUCTEX;
-STRUCT!{struct HARDWAREHOOKSTRUCT {
- hwnd: HWND,
- message: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
-}}
-pub type LPHARDWAREHOOKSTRUCT = *mut HARDWAREHOOKSTRUCT;
-pub type PHARDWAREHOOKSTRUCT = *mut HARDWAREHOOKSTRUCT;
-pub const HKL_PREV: HKL = 0 as HKL;
-pub const HKL_NEXT: HKL = 1 as HKL;
-pub const KLF_ACTIVATE: UINT = 0x00000001;
-pub const KLF_SUBSTITUTE_OK: UINT = 0x00000002;
-pub const KLF_REORDER: UINT = 0x00000008;
-pub const KLF_REPLACELANG: UINT = 0x00000010;
-pub const KLF_NOTELLSHELL: UINT = 0x00000080;
-pub const KLF_SETFORPROCESS: UINT = 0x00000100;
-pub const KLF_SHIFTLOCK: UINT = 0x00010000;
-pub const KLF_RESET: UINT = 0x40000000;
-pub const INPUTLANGCHANGE_SYSCHARSET: WPARAM = 0x0001;
-pub const INPUTLANGCHANGE_FORWARD: WPARAM = 0x0002;
-pub const INPUTLANGCHANGE_BACKWARD: WPARAM = 0x0004;
-pub const KL_NAMELENGTH: usize = 9;
-extern "system" {
- pub fn LoadKeyboardLayoutA(
- pwszKLID: LPCSTR,
- Flags: DWORD,
- ) -> HKL;
- pub fn LoadKeyboardLayoutW(
- pwszKLID: LPCWSTR,
- Flags: DWORD,
- ) -> HKL;
- pub fn ActivateKeyboardLayout(
- hkl: HKL,
- Flags: UINT,
- ) -> HKL;
- pub fn ToUnicodeEx(
- wVirtKey: UINT,
- wScanCode: UINT,
- lpKeyState: *const BYTE,
- pwszBuff: LPWSTR,
- cchBuff: c_int,
- wFlags: UINT,
- dwhkl: HKL,
- ) -> c_int;
- pub fn UnloadKeyboardLayout(
- hkl: HKL,
- ) -> BOOL;
- pub fn GetKeyboardLayoutNameA(
- pwszKLID: LPSTR,
- ) -> BOOL;
- pub fn GetKeyboardLayoutNameW(
- pwszKLID: LPWSTR,
- ) -> BOOL;
- pub fn GetKeyboardLayoutList(
- nBuff: c_int,
- lpList: *mut HKL,
- ) -> c_int;
- pub fn GetKeyboardLayout(
- idThread: DWORD,
- ) -> HKL;
-}
-STRUCT!{struct MOUSEMOVEPOINT {
- x: c_int,
- y: c_int,
- time: DWORD,
- dwExtraInfo: ULONG_PTR,
-}}
-pub type PMOUSEMOVEPOINT = *mut MOUSEMOVEPOINT;
-pub type LPMOUSEMOVEPOINT = *mut MOUSEMOVEPOINT;
-pub const GMMP_USE_DISPLAY_POINTS: DWORD = 1;
-pub const GMMP_USE_HIGH_RESOLUTION_POINTS: DWORD = 2;
-extern "system" {
- pub fn GetMouseMovePointsEx(
- cbSize: UINT,
- lppt: LPMOUSEMOVEPOINT,
- lpptBuf: LPMOUSEMOVEPOINT,
- nBufPoints: c_int,
- resolution: DWORD,
- ) -> c_int;
-}
-pub const DESKTOP_READOBJECTS: DWORD = 0x0001;
-pub const DESKTOP_CREATEWINDOW: DWORD = 0x0002;
-pub const DESKTOP_CREATEMENU: DWORD = 0x0004;
-pub const DESKTOP_HOOKCONTROL: DWORD = 0x0008;
-pub const DESKTOP_JOURNALRECORD: DWORD = 0x0010;
-pub const DESKTOP_JOURNALPLAYBACK: DWORD = 0x0020;
-pub const DESKTOP_ENUMERATE: DWORD = 0x0040;
-pub const DESKTOP_WRITEOBJECTS: DWORD = 0x0080;
-pub const DESKTOP_SWITCHDESKTOP: DWORD = 0x0100;
-pub const DF_ALLOWOTHERACCOUNTHOOK: DWORD = 0x0001;
-extern "system" {
- pub fn CreateDesktopA(
- lpszDesktop: LPCSTR,
- lpszDevice: LPCSTR,
- pDevmode: *mut DEVMODEA,
- dwFlags: DWORD,
- dwDesiredAccess: ACCESS_MASK,
- lpsa: LPSECURITY_ATTRIBUTES,
- ) -> HDESK;
- pub fn CreateDesktopW(
- lpszDesktop: LPCWSTR,
- lpszDevice: LPCWSTR,
- pDevmode: *mut DEVMODEW,
- dwFlags: DWORD,
- dwDesiredAccess: ACCESS_MASK,
- lpsa: LPSECURITY_ATTRIBUTES,
- ) -> HDESK;
- pub fn CreateDesktopExA(
- lpszDesktop: LPCSTR,
- lpszDevice: LPCSTR,
- pDevmode: *mut DEVMODEA,
- dwFlags: DWORD,
- dwDesiredAccess: ACCESS_MASK,
- lpsa: LPSECURITY_ATTRIBUTES,
- ulHeapSize: ULONG,
- pvoid: PVOID,
- ) -> HDESK;
- pub fn CreateDesktopExW(
- lpszDesktop: LPCWSTR,
- lpszDevice: LPCWSTR,
- pDevmode: *mut DEVMODEW,
- dwFlags: DWORD,
- dwDesiredAccess: ACCESS_MASK,
- lpsa: LPSECURITY_ATTRIBUTES,
- ulHeapSize: ULONG,
- pvoid: PVOID,
- ) -> HDESK;
- pub fn OpenDesktopA(
- lpszDesktop: LPCSTR,
- dwFlags: DWORD,
- fInherit: BOOL,
- dwDesiredAccess: ACCESS_MASK,
- ) -> HDESK;
- pub fn OpenDesktopW(
- lpszDesktop: LPCWSTR,
- dwFlags: DWORD,
- fInherit: BOOL,
- dwDesiredAccess: ACCESS_MASK,
- ) -> HDESK;
- pub fn OpenInputDesktop(
- dwFlags: DWORD,
- fInherit: BOOL,
- dwDesiredAccess: ACCESS_MASK,
- ) -> HDESK;
- pub fn EnumDesktopsA(
- hwinsta: HWINSTA,
- lpEnumFunc: DESKTOPENUMPROCA,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn EnumDesktopsW(
- hwinsta: HWINSTA,
- lpEnumFunc: DESKTOPENUMPROCW,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn EnumDesktopWindows(
- hDesktop: HDESK,
- lpfn: WNDENUMPROC,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn SwitchDesktop(
- hDesktop: HDESK,
- ) -> BOOL;
- pub fn SetThreadDesktop(
- hDesktop: HDESK,
- ) -> BOOL;
- pub fn CloseDesktop(
- hDesktop: HDESK,
- ) -> BOOL;
- pub fn GetThreadDesktop(
- dwThreadId: DWORD,
- ) -> HDESK;
-}
-pub const WINSTA_ENUMDESKTOPS: DWORD = 0x0001;
-pub const WINSTA_READATTRIBUTES: DWORD = 0x0002;
-pub const WINSTA_ACCESSCLIPBOARD: DWORD = 0x0004;
-pub const WINSTA_CREATEDESKTOP: DWORD = 0x0008;
-pub const WINSTA_WRITEATTRIBUTES: DWORD = 0x0010;
-pub const WINSTA_ACCESSGLOBALATOMS: DWORD = 0x0020;
-pub const WINSTA_EXITWINDOWS: DWORD = 0x0040;
-pub const WINSTA_ENUMERATE: DWORD = 0x0100;
-pub const WINSTA_READSCREEN: DWORD = 0x0200;
-pub const WINSTA_ALL_ACCESS: DWORD = WINSTA_ENUMDESKTOPS | WINSTA_READATTRIBUTES
- | WINSTA_ACCESSCLIPBOARD | WINSTA_CREATEDESKTOP | WINSTA_WRITEATTRIBUTES
- | WINSTA_ACCESSGLOBALATOMS | WINSTA_EXITWINDOWS | WINSTA_ENUMERATE | WINSTA_READSCREEN;
-pub const CWF_CREATE_ONLY: DWORD = 0x00000001;
-pub const WSF_VISIBLE: DWORD = 0x0001;
-extern "system" {
- pub fn CreateWindowStationA(
- lpwinsta: LPCSTR,
- dwFlags: DWORD,
- dwDesiredAccess: ACCESS_MASK,
- lpsa: LPSECURITY_ATTRIBUTES,
- ) -> HWINSTA;
- pub fn CreateWindowStationW(
- lpwinsta: LPCWSTR,
- dwFlags: DWORD,
- dwDesiredAccess: ACCESS_MASK,
- lpsa: LPSECURITY_ATTRIBUTES,
- ) -> HWINSTA;
- pub fn OpenWindowStationA(
- lpszWinSta: LPCSTR,
- fInherit: BOOL,
- dwDesiredAccess: ACCESS_MASK,
- ) -> HWINSTA;
- pub fn OpenWindowStationW(
- lpszWinSta: LPCWSTR,
- fInherit: BOOL,
- dwDesiredAccess: ACCESS_MASK,
- ) -> HWINSTA;
- pub fn EnumWindowStationsA(
- lpEnumFunc: WINSTAENUMPROCA,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn EnumWindowStationsW(
- lpEnumFunc: WINSTAENUMPROCW,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn CloseWindowStation(
- hWinSta: HWINSTA,
- ) -> BOOL;
- pub fn SetProcessWindowStation(
- hWinSta: HWINSTA,
- ) -> BOOL;
- pub fn GetProcessWindowStation() -> HWINSTA;
- pub fn SetUserObjectSecurity(
- hObj: HANDLE,
- pSIRequested: PSECURITY_INFORMATION,
- pSID: PSECURITY_DESCRIPTOR,
- ) -> BOOL;
- pub fn GetUserObjectSecurity(
- hObj: HANDLE,
- pSIRequested: PSECURITY_INFORMATION,
- pSID: PSECURITY_DESCRIPTOR,
- nLength: DWORD,
- lpnLengthNeeded: LPDWORD,
- ) -> BOOL;
-}
-pub const UOI_FLAGS: DWORD = 1;
-pub const UOI_NAME: DWORD = 2;
-pub const UOI_TYPE: DWORD = 3;
-pub const UOI_USER_SID: DWORD = 4;
-pub const UOI_HEAPSIZE: DWORD = 5;
-pub const UOI_IO: DWORD = 6;
-pub const UOI_TIMERPROC_EXCEPTION_SUPPRESSION: DWORD = 7;
-STRUCT!{struct USEROBJECTFLAGS {
- fInherit: BOOL,
- fReserved: BOOL,
- dwFlags: DWORD,
-}}
-pub type PUSEROBJECTFLAGS = *mut USEROBJECTFLAGS;
-extern "system" {
- pub fn GetUserObjectInformationA(
- hObj: HANDLE,
- nIndex: c_int,
- pvInfo: PVOID,
- nLength: DWORD,
- lpnLengthNeeded: LPDWORD,
- ) -> BOOL;
- pub fn GetUserObjectInformationW(
- hObj: HANDLE,
- nIndex: c_int,
- pvInfo: PVOID,
- nLength: DWORD,
- lpnLengthNeeded: LPDWORD,
- ) -> BOOL;
- pub fn SetUserObjectInformationA(
- hObj: HANDLE,
- nIndex: c_int,
- pvInfo: PVOID,
- nLength: DWORD,
- ) -> BOOL;
- pub fn SetUserObjectInformationW(
- hObj: HANDLE,
- nIndex: c_int,
- pvInfo: PVOID,
- nLength: DWORD,
- ) -> BOOL;
-}
-STRUCT!{struct WNDCLASSEXA {
- cbSize: UINT,
- style: UINT,
- lpfnWndProc: WNDPROC,
- cbClsExtra: c_int,
- cbWndExtra: c_int,
- hInstance: HINSTANCE,
- hIcon: HICON,
- hCursor: HCURSOR,
- hbrBackground: HBRUSH,
- lpszMenuName: LPCSTR,
- lpszClassName: LPCSTR,
- hIconSm: HICON,
-}}
-pub type PWNDCLASSEXA = *mut WNDCLASSEXA;
-pub type NPWNDCLASSEXA = *mut WNDCLASSEXA;
-pub type LPWNDCLASSEXA = *mut WNDCLASSEXA;
-STRUCT!{struct WNDCLASSEXW {
- cbSize: UINT,
- style: UINT,
- lpfnWndProc: WNDPROC,
- cbClsExtra: c_int,
- cbWndExtra: c_int,
- hInstance: HINSTANCE,
- hIcon: HICON,
- hCursor: HCURSOR,
- hbrBackground: HBRUSH,
- lpszMenuName: LPCWSTR,
- lpszClassName: LPCWSTR,
- hIconSm: HICON,
-}}
-pub type PWNDCLASSEXW = *mut WNDCLASSEXW;
-pub type NPWNDCLASSEXW = *mut WNDCLASSEXW;
-pub type LPWNDCLASSEXW = *mut WNDCLASSEXW;
-STRUCT!{struct WNDCLASSA {
- style: UINT,
- lpfnWndProc: WNDPROC,
- cbClsExtra: c_int,
- cbWndExtra: c_int,
- hInstance: HINSTANCE,
- hIcon: HICON,
- hCursor: HCURSOR,
- hbrBackground: HBRUSH,
- lpszMenuName: LPCSTR,
- lpszClassName: LPCSTR,
-}}
-pub type PWNDCLASSA = *mut WNDCLASSA;
-pub type NPWNDCLASSA = *mut WNDCLASSA;
-pub type LPWNDCLASSA = *mut WNDCLASSA;
-STRUCT!{struct WNDCLASSW {
- style: UINT,
- lpfnWndProc: WNDPROC,
- cbClsExtra: c_int,
- cbWndExtra: c_int,
- hInstance: HINSTANCE,
- hIcon: HICON,
- hCursor: HCURSOR,
- hbrBackground: HBRUSH,
- lpszMenuName: LPCWSTR,
- lpszClassName: LPCWSTR,
-}}
-pub type PWNDCLASSW = *mut WNDCLASSW;
-pub type NPWNDCLASSW = *mut WNDCLASSW;
-pub type LPWNDCLASSW = *mut WNDCLASSW;
-extern "system" {
- pub fn IsHungAppWindow(
- hwnd: HWND,
- ) -> BOOL;
- pub fn DisableProcessWindowsGhosting();
-}
-STRUCT!{struct MSG {
- hwnd: HWND,
- message: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- time: DWORD,
- pt: POINT,
-}}
-pub type PMSG = *mut MSG;
-pub type NPMSG = *mut MSG;
-pub type LPMSG = *mut MSG;
-//POINTSTOPOINT
-//POINTTOPOINTS
-//MAKEWPARAM
-//MAKELPARAM
-//MAKELRESULT
-pub const GWL_WNDPROC: c_int = -4;
-pub const GWL_HINSTANCE: c_int = -6;
-pub const GWL_HWNDPARENT: c_int = -8;
-pub const GWL_STYLE: c_int = -16;
-pub const GWL_EXSTYLE: c_int = -20;
-pub const GWL_USERDATA: c_int = -21;
-pub const GWL_ID: c_int = -12;
-pub const GWLP_WNDPROC: c_int = -4;
-pub const GWLP_HINSTANCE: c_int = -6;
-pub const GWLP_HWNDPARENT: c_int = -8;
-pub const GWLP_USERDATA: c_int = -21;
-pub const GWLP_ID: c_int = -12;
-pub const GCL_MENUNAME: c_int = -8;
-pub const GCL_HBRBACKGROUND: c_int = -10;
-pub const GCL_HCURSOR: c_int = -12;
-pub const GCL_HICON: c_int = -14;
-pub const GCL_HMODULE: c_int = -16;
-pub const GCL_CBWNDEXTRA: c_int = -18;
-pub const GCL_CBCLSEXTRA: c_int = -20;
-pub const GCL_WNDPROC: c_int = -24;
-pub const GCL_STYLE: c_int = -26;
-pub const GCW_ATOM: c_int = -32;
-pub const GCL_HICONSM: c_int = -34;
-pub const GCLP_MENUNAME: c_int = -8;
-pub const GCLP_HBRBACKGROUND: c_int = -10;
-pub const GCLP_HCURSOR: c_int = -12;
-pub const GCLP_HICON: c_int = -14;
-pub const GCLP_HMODULE: c_int = -16;
-pub const GCLP_WNDPROC: c_int = -24;
-pub const GCLP_HICONSM: c_int = -34;
-pub const WM_NULL: UINT = 0x0000;
-pub const WM_CREATE: UINT = 0x0001;
-pub const WM_DESTROY: UINT = 0x0002;
-pub const WM_MOVE: UINT = 0x0003;
-pub const WM_SIZE: UINT = 0x0005;
-pub const WM_ACTIVATE: UINT = 0x0006;
-pub const WA_INACTIVE: WORD = 0;
-pub const WA_ACTIVE: WORD = 1;
-pub const WA_CLICKACTIVE: WORD = 2;
-pub const WM_SETFOCUS: UINT = 0x0007;
-pub const WM_KILLFOCUS: UINT = 0x0008;
-pub const WM_ENABLE: UINT = 0x000A;
-pub const WM_SETREDRAW: UINT = 0x000B;
-pub const WM_SETTEXT: UINT = 0x000C;
-pub const WM_GETTEXT: UINT = 0x000D;
-pub const WM_GETTEXTLENGTH: UINT = 0x000E;
-pub const WM_PAINT: UINT = 0x000F;
-pub const WM_CLOSE: UINT = 0x0010;
-pub const WM_QUERYENDSESSION: UINT = 0x0011;
-pub const WM_QUERYOPEN: UINT = 0x0013;
-pub const WM_ENDSESSION: UINT = 0x0016;
-pub const WM_QUIT: UINT = 0x0012;
-pub const WM_ERASEBKGND: UINT = 0x0014;
-pub const WM_SYSCOLORCHANGE: UINT = 0x0015;
-pub const WM_SHOWWINDOW: UINT = 0x0018;
-pub const WM_WININICHANGE: UINT = 0x001A;
-pub const WM_SETTINGCHANGE: UINT = WM_WININICHANGE;
-pub const WM_DEVMODECHANGE: UINT = 0x001B;
-pub const WM_ACTIVATEAPP: UINT = 0x001C;
-pub const WM_FONTCHANGE: UINT = 0x001D;
-pub const WM_TIMECHANGE: UINT = 0x001E;
-pub const WM_CANCELMODE: UINT = 0x001F;
-pub const WM_SETCURSOR: UINT = 0x0020;
-pub const WM_MOUSEACTIVATE: UINT = 0x0021;
-pub const WM_CHILDACTIVATE: UINT = 0x0022;
-pub const WM_QUEUESYNC: UINT = 0x0023;
-pub const WM_GETMINMAXINFO: UINT = 0x0024;
-STRUCT!{struct MINMAXINFO {
- ptReserved: POINT,
- ptMaxSize: POINT,
- ptMaxPosition: POINT,
- ptMinTrackSize: POINT,
- ptMaxTrackSize: POINT,
-}}
-pub type PMINMAXINFO = *mut MINMAXINFO;
-pub type LPMINMAXINFO = *mut MINMAXINFO;
-pub const WM_PAINTICON: UINT = 0x0026;
-pub const WM_ICONERASEBKGND: UINT = 0x0027;
-pub const WM_NEXTDLGCTL: UINT = 0x0028;
-pub const WM_SPOOLERSTATUS: UINT = 0x002A;
-pub const WM_DRAWITEM: UINT = 0x002B;
-pub const WM_MEASUREITEM: UINT = 0x002C;
-pub const WM_DELETEITEM: UINT = 0x002D;
-pub const WM_VKEYTOITEM: UINT = 0x002E;
-pub const WM_CHARTOITEM: UINT = 0x002F;
-pub const WM_SETFONT: UINT = 0x0030;
-pub const WM_GETFONT: UINT = 0x0031;
-pub const WM_SETHOTKEY: UINT = 0x0032;
-pub const WM_GETHOTKEY: UINT = 0x0033;
-pub const WM_QUERYDRAGICON: UINT = 0x0037;
-pub const WM_COMPAREITEM: UINT = 0x0039;
-pub const WM_GETOBJECT: UINT = 0x003D;
-pub const WM_COMPACTING: UINT = 0x0041;
-pub const WM_COMMNOTIFY: UINT = 0x0044;
-pub const WM_WINDOWPOSCHANGING: UINT = 0x0046;
-pub const WM_WINDOWPOSCHANGED: UINT = 0x0047;
-pub const WM_POWER: UINT = 0x0048;
-pub const PWR_OK: WPARAM = 1;
-pub const PWR_FAIL: WPARAM = -1isize as usize;
-pub const PWR_SUSPENDREQUEST: WPARAM = 1;
-pub const PWR_SUSPENDRESUME: WPARAM = 2;
-pub const PWR_CRITICALRESUME: WPARAM = 3;
-pub const WM_COPYDATA: UINT = 0x004A;
-pub const WM_CANCELJOURNAL: UINT = 0x004B;
-STRUCT!{struct COPYDATASTRUCT {
- dwData: ULONG_PTR,
- cbData: DWORD,
- lpData: PVOID,
-}}
-pub type PCOPYDATASTRUCT = *mut COPYDATASTRUCT;
-STRUCT!{struct MDINEXTMENU {
- hmenuIn: HMENU,
- hmenuNext: HMENU,
- hwndNext: HWND,
-}}
-pub type PMDINEXTMENU = *mut MDINEXTMENU;
-pub type LPMDINEXTMENU = *mut MDINEXTMENU;
-pub const WM_NOTIFY: UINT = 0x004E;
-pub const WM_INPUTLANGCHANGEREQUEST: UINT = 0x0050;
-pub const WM_INPUTLANGCHANGE: UINT = 0x0051;
-pub const WM_TCARD: UINT = 0x0052;
-pub const WM_HELP: UINT = 0x0053;
-pub const WM_USERCHANGED: UINT = 0x0054;
-pub const WM_NOTIFYFORMAT: UINT = 0x0055;
-pub const NFR_ANSI: LRESULT = 1;
-pub const NFR_UNICODE: LRESULT = 2;
-pub const NF_QUERY: LPARAM = 3;
-pub const NF_REQUERY: LPARAM = 4;
-pub const WM_CONTEXTMENU: UINT = 0x007B;
-pub const WM_STYLECHANGING: UINT = 0x007C;
-pub const WM_STYLECHANGED: UINT = 0x007D;
-pub const WM_DISPLAYCHANGE: UINT = 0x007E;
-pub const WM_GETICON: UINT = 0x007F;
-pub const WM_SETICON: UINT = 0x0080;
-pub const WM_NCCREATE: UINT = 0x0081;
-pub const WM_NCDESTROY: UINT = 0x0082;
-pub const WM_NCCALCSIZE: UINT = 0x0083;
-pub const WM_NCHITTEST: UINT = 0x0084;
-pub const WM_NCPAINT: UINT = 0x0085;
-pub const WM_NCACTIVATE: UINT = 0x0086;
-pub const WM_GETDLGCODE: UINT = 0x0087;
-pub const WM_SYNCPAINT: UINT = 0x0088;
-pub const WM_NCMOUSEMOVE: UINT = 0x00A0;
-pub const WM_NCLBUTTONDOWN: UINT = 0x00A1;
-pub const WM_NCLBUTTONUP: UINT = 0x00A2;
-pub const WM_NCLBUTTONDBLCLK: UINT = 0x00A3;
-pub const WM_NCRBUTTONDOWN: UINT = 0x00A4;
-pub const WM_NCRBUTTONUP: UINT = 0x00A5;
-pub const WM_NCRBUTTONDBLCLK: UINT = 0x00A6;
-pub const WM_NCMBUTTONDOWN: UINT = 0x00A7;
-pub const WM_NCMBUTTONUP: UINT = 0x00A8;
-pub const WM_NCMBUTTONDBLCLK: UINT = 0x00A9;
-pub const WM_NCXBUTTONDOWN: UINT = 0x00AB;
-pub const WM_NCXBUTTONUP: UINT = 0x00AC;
-pub const WM_NCXBUTTONDBLCLK: UINT = 0x00AD;
-pub const WM_INPUT_DEVICE_CHANGE: UINT = 0x00FE;
-pub const WM_INPUT: UINT = 0x00FF;
-pub const WM_KEYFIRST: UINT = 0x0100;
-pub const WM_KEYDOWN: UINT = 0x0100;
-pub const WM_KEYUP: UINT = 0x0101;
-pub const WM_CHAR: UINT = 0x0102;
-pub const WM_DEADCHAR: UINT = 0x0103;
-pub const WM_SYSKEYDOWN: UINT = 0x0104;
-pub const WM_SYSKEYUP: UINT = 0x0105;
-pub const WM_SYSCHAR: UINT = 0x0106;
-pub const WM_SYSDEADCHAR: UINT = 0x0107;
-pub const WM_UNICHAR: UINT = 0x0109;
-pub const WM_KEYLAST: UINT = 0x0109;
-pub const UNICODE_NOCHAR: WPARAM = 0xFFFF;
-pub const WM_IME_STARTCOMPOSITION: UINT = 0x010D;
-pub const WM_IME_ENDCOMPOSITION: UINT = 0x010E;
-pub const WM_IME_COMPOSITION: UINT = 0x010F;
-pub const WM_IME_KEYLAST: UINT = 0x010F;
-pub const WM_INITDIALOG: UINT = 0x0110;
-pub const WM_COMMAND: UINT = 0x0111;
-pub const WM_SYSCOMMAND: UINT = 0x0112;
-pub const WM_TIMER: UINT = 0x0113;
-pub const WM_HSCROLL: UINT = 0x0114;
-pub const WM_VSCROLL: UINT = 0x0115;
-pub const WM_INITMENU: UINT = 0x0116;
-pub const WM_INITMENUPOPUP: UINT = 0x0117;
-pub const WM_GESTURE: UINT = 0x0119;
-pub const WM_GESTURENOTIFY: UINT = 0x011A;
-pub const WM_MENUSELECT: UINT = 0x011F;
-pub const WM_MENUCHAR: UINT = 0x0120;
-pub const WM_ENTERIDLE: UINT = 0x0121;
-pub const WM_MENURBUTTONUP: UINT = 0x0122;
-pub const WM_MENUDRAG: UINT = 0x0123;
-pub const WM_MENUGETOBJECT: UINT = 0x0124;
-pub const WM_UNINITMENUPOPUP: UINT = 0x0125;
-pub const WM_MENUCOMMAND: UINT = 0x0126;
-pub const WM_CHANGEUISTATE: UINT = 0x0127;
-pub const WM_UPDATEUISTATE: UINT = 0x0128;
-pub const WM_QUERYUISTATE: UINT = 0x0129;
-pub const UIS_SET: WORD = 1;
-pub const UIS_CLEAR: WORD = 2;
-pub const UIS_INITIALIZE: WORD = 3;
-pub const UISF_HIDEFOCUS: WORD = 0x1;
-pub const UISF_HIDEACCEL: WORD = 0x2;
-pub const UISF_ACTIVE: WORD = 0x4;
-pub const WM_CTLCOLORMSGBOX: UINT = 0x0132;
-pub const WM_CTLCOLOREDIT: UINT = 0x0133;
-pub const WM_CTLCOLORLISTBOX: UINT = 0x0134;
-pub const WM_CTLCOLORBTN: UINT = 0x0135;
-pub const WM_CTLCOLORDLG: UINT = 0x0136;
-pub const WM_CTLCOLORSCROLLBAR: UINT = 0x0137;
-pub const WM_CTLCOLORSTATIC: UINT = 0x0138;
-pub const MN_GETHMENU: UINT = 0x01E1;
-pub const WM_MOUSEFIRST: UINT = 0x0200;
-pub const WM_MOUSEMOVE: UINT = 0x0200;
-pub const WM_LBUTTONDOWN: UINT = 0x0201;
-pub const WM_LBUTTONUP: UINT = 0x0202;
-pub const WM_LBUTTONDBLCLK: UINT = 0x0203;
-pub const WM_RBUTTONDOWN: UINT = 0x0204;
-pub const WM_RBUTTONUP: UINT = 0x0205;
-pub const WM_RBUTTONDBLCLK: UINT = 0x0206;
-pub const WM_MBUTTONDOWN: UINT = 0x0207;
-pub const WM_MBUTTONUP: UINT = 0x0208;
-pub const WM_MBUTTONDBLCLK: UINT = 0x0209;
-pub const WM_MOUSEWHEEL: UINT = 0x020A;
-pub const WM_XBUTTONDOWN: UINT = 0x020B;
-pub const WM_XBUTTONUP: UINT = 0x020C;
-pub const WM_XBUTTONDBLCLK: UINT = 0x020D;
-pub const WM_MOUSEHWHEEL: UINT = 0x020E;
-pub const WM_MOUSELAST: UINT = 0x020E;
-pub const WHEEL_DELTA: c_short = 120;
-#[inline]
-pub fn GET_WHEEL_DELTA_WPARAM(wParam: WPARAM) -> c_short {
- HIWORD(wParam as DWORD) as c_short
-}
-pub const WHEEL_PAGESCROLL: UINT = UINT_MAX;
-#[inline]
-pub fn GET_KEYSTATE_WPARAM(wParam: WPARAM) -> WORD {
- LOWORD(wParam as DWORD)
-}
-#[inline]
-pub fn GET_NCHITTEST_WPARAM(wParam: WPARAM) -> c_short {
- LOWORD(wParam as DWORD) as c_short
-}
-#[inline]
-pub fn GET_XBUTTON_WPARAM(wParam: WPARAM) -> WORD {
- HIWORD(wParam as DWORD)
-}
-pub const XBUTTON1: WORD = 0x0001;
-pub const XBUTTON2: WORD = 0x0002;
-pub const WM_PARENTNOTIFY: UINT = 0x0210;
-pub const WM_ENTERMENULOOP: UINT = 0x0211;
-pub const WM_EXITMENULOOP: UINT = 0x0212;
-pub const WM_NEXTMENU: UINT = 0x0213;
-pub const WM_SIZING: UINT = 0x0214;
-pub const WM_CAPTURECHANGED: UINT = 0x0215;
-pub const WM_MOVING: UINT = 0x0216;
-pub const WM_POWERBROADCAST: UINT = 0x0218;
-pub const PBT_APMQUERYSUSPEND: WPARAM = 0x0000;
-pub const PBT_APMQUERYSTANDBY: WPARAM = 0x0001;
-pub const PBT_APMQUERYSUSPENDFAILED: WPARAM = 0x0002;
-pub const PBT_APMQUERYSTANDBYFAILED: WPARAM = 0x0003;
-pub const PBT_APMSUSPEND: WPARAM = 0x0004;
-pub const PBT_APMSTANDBY: WPARAM = 0x0005;
-pub const PBT_APMRESUMECRITICAL: WPARAM = 0x0006;
-pub const PBT_APMRESUMESUSPEND: WPARAM = 0x0007;
-pub const PBT_APMRESUMESTANDBY: WPARAM = 0x0008;
-pub const PBTF_APMRESUMEFROMFAILURE: LPARAM = 0x00000001;
-pub const PBT_APMBATTERYLOW: WPARAM = 0x0009;
-pub const PBT_APMPOWERSTATUSCHANGE: WPARAM = 0x000A;
-pub const PBT_APMOEMEVENT: WPARAM = 0x000B;
-pub const PBT_APMRESUMEAUTOMATIC: WPARAM = 0x0012;
-pub const PBT_POWERSETTINGCHANGE: WPARAM = 0x8013;
-STRUCT!{struct POWERBROADCAST_SETTING {
- PowerSetting: GUID,
- DataLength: DWORD,
- Data: [UCHAR; 1],
-}}
-pub type PPOWERBROADCAST_SETTING = *mut POWERBROADCAST_SETTING;
-pub const WM_DEVICECHANGE: UINT = 0x0219;
-pub const WM_MDICREATE: UINT = 0x0220;
-pub const WM_MDIDESTROY: UINT = 0x0221;
-pub const WM_MDIACTIVATE: UINT = 0x0222;
-pub const WM_MDIRESTORE: UINT = 0x0223;
-pub const WM_MDINEXT: UINT = 0x0224;
-pub const WM_MDIMAXIMIZE: UINT = 0x0225;
-pub const WM_MDITILE: UINT = 0x0226;
-pub const WM_MDICASCADE: UINT = 0x0227;
-pub const WM_MDIICONARRANGE: UINT = 0x0228;
-pub const WM_MDIGETACTIVE: UINT = 0x0229;
-pub const WM_MDISETMENU: UINT = 0x0230;
-pub const WM_ENTERSIZEMOVE: UINT = 0x0231;
-pub const WM_EXITSIZEMOVE: UINT = 0x0232;
-pub const WM_DROPFILES: UINT = 0x0233;
-pub const WM_MDIREFRESHMENU: UINT = 0x0234;
-pub const WM_POINTERDEVICECHANGE: UINT = 0x238;
-pub const WM_POINTERDEVICEINRANGE: UINT = 0x239;
-pub const WM_POINTERDEVICEOUTOFRANGE: UINT = 0x23A;
-pub const WM_TOUCH: UINT = 0x0240;
-pub const WM_NCPOINTERUPDATE: UINT = 0x0241;
-pub const WM_NCPOINTERDOWN: UINT = 0x0242;
-pub const WM_NCPOINTERUP: UINT = 0x0243;
-pub const WM_POINTERUPDATE: UINT = 0x0245;
-pub const WM_POINTERDOWN: UINT = 0x0246;
-pub const WM_POINTERUP: UINT = 0x0247;
-pub const WM_POINTERENTER: UINT = 0x0249;
-pub const WM_POINTERLEAVE: UINT = 0x024A;
-pub const WM_POINTERACTIVATE: UINT = 0x024B;
-pub const WM_POINTERCAPTURECHANGED: UINT = 0x024C;
-pub const WM_TOUCHHITTESTING: UINT = 0x024D;
-pub const WM_POINTERWHEEL: UINT = 0x024E;
-pub const WM_POINTERHWHEEL: UINT = 0x024F;
-pub const DM_POINTERHITTEST: UINT = 0x0250;
-pub const WM_POINTERROUTEDTO: UINT = 0x0251;
-pub const WM_POINTERROUTEDAWAY: UINT = 0x0252;
-pub const WM_POINTERROUTEDRELEASED: UINT = 0x0253;
-pub const WM_IME_SETCONTEXT: UINT = 0x0281;
-pub const WM_IME_NOTIFY: UINT = 0x0282;
-pub const WM_IME_CONTROL: UINT = 0x0283;
-pub const WM_IME_COMPOSITIONFULL: UINT = 0x0284;
-pub const WM_IME_SELECT: UINT = 0x0285;
-pub const WM_IME_CHAR: UINT = 0x0286;
-pub const WM_IME_REQUEST: UINT = 0x0288;
-pub const WM_IME_KEYDOWN: UINT = 0x0290;
-pub const WM_IME_KEYUP: UINT = 0x0291;
-pub const WM_MOUSEHOVER: UINT = 0x02A1;
-pub const WM_MOUSELEAVE: UINT = 0x02A3;
-pub const WM_NCMOUSEHOVER: UINT = 0x02A0;
-pub const WM_NCMOUSELEAVE: UINT = 0x02A2;
-pub const WM_WTSSESSION_CHANGE: UINT = 0x02B1;
-pub const WM_TABLET_FIRST: UINT = 0x02c0;
-pub const WM_TABLET_LAST: UINT = 0x02df;
-pub const WM_DPICHANGED: UINT = 0x02E0;
-pub const WM_DPICHANGED_BEFOREPARENT: UINT = 0x02E2;
-pub const WM_DPICHANGED_AFTERPARENT: UINT = 0x02E3;
-pub const WM_GETDPISCALEDSIZE: UINT = 0x02E4;
-pub const WM_CUT: UINT = 0x0300;
-pub const WM_COPY: UINT = 0x0301;
-pub const WM_PASTE: UINT = 0x0302;
-pub const WM_CLEAR: UINT = 0x0303;
-pub const WM_UNDO: UINT = 0x0304;
-pub const WM_RENDERFORMAT: UINT = 0x0305;
-pub const WM_RENDERALLFORMATS: UINT = 0x0306;
-pub const WM_DESTROYCLIPBOARD: UINT = 0x0307;
-pub const WM_DRAWCLIPBOARD: UINT = 0x0308;
-pub const WM_PAINTCLIPBOARD: UINT = 0x0309;
-pub const WM_VSCROLLCLIPBOARD: UINT = 0x030A;
-pub const WM_SIZECLIPBOARD: UINT = 0x030B;
-pub const WM_ASKCBFORMATNAME: UINT = 0x030C;
-pub const WM_CHANGECBCHAIN: UINT = 0x030D;
-pub const WM_HSCROLLCLIPBOARD: UINT = 0x030E;
-pub const WM_QUERYNEWPALETTE: UINT = 0x030F;
-pub const WM_PALETTEISCHANGING: UINT = 0x0310;
-pub const WM_PALETTECHANGED: UINT = 0x0311;
-pub const WM_HOTKEY: UINT = 0x0312;
-pub const WM_PRINT: UINT = 0x0317;
-pub const WM_PRINTCLIENT: UINT = 0x0318;
-pub const WM_APPCOMMAND: UINT = 0x0319;
-pub const WM_THEMECHANGED: UINT = 0x031A;
-pub const WM_CLIPBOARDUPDATE: UINT = 0x031D;
-pub const WM_DWMCOMPOSITIONCHANGED: UINT = 0x031E;
-pub const WM_DWMNCRENDERINGCHANGED: UINT = 0x031F;
-pub const WM_DWMCOLORIZATIONCOLORCHANGED: UINT = 0x0320;
-pub const WM_DWMWINDOWMAXIMIZEDCHANGE: UINT = 0x0321;
-pub const WM_DWMSENDICONICTHUMBNAIL: UINT = 0x0323;
-pub const WM_DWMSENDICONICLIVEPREVIEWBITMAP: UINT = 0x0326;
-pub const WM_GETTITLEBARINFOEX: UINT = 0x033F;
-pub const WM_HANDHELDFIRST: UINT = 0x0358;
-pub const WM_HANDHELDLAST: UINT = 0x035F;
-pub const WM_AFXFIRST: UINT = 0x0360;
-pub const WM_AFXLAST: UINT = 0x037F;
-pub const WM_PENWINFIRST: UINT = 0x0380;
-pub const WM_PENWINLAST: UINT = 0x038F;
-pub const WM_APP: UINT = 0x8000;
-pub const WM_USER: UINT = 0x0400;
-pub const WMSZ_LEFT: UINT = 1;
-pub const WMSZ_RIGHT: UINT = 2;
-pub const WMSZ_TOP: UINT = 3;
-pub const WMSZ_TOPLEFT: UINT = 4;
-pub const WMSZ_TOPRIGHT: UINT = 5;
-pub const WMSZ_BOTTOM: UINT = 6;
-pub const WMSZ_BOTTOMLEFT: UINT = 7;
-pub const WMSZ_BOTTOMRIGHT: UINT = 8;
-pub const HTERROR: LRESULT = -2;
-pub const HTTRANSPARENT: LRESULT = -1;
-pub const HTNOWHERE: LRESULT = 0;
-pub const HTCLIENT: LRESULT = 1;
-pub const HTCAPTION: LRESULT = 2;
-pub const HTSYSMENU: LRESULT = 3;
-pub const HTGROWBOX: LRESULT = 4;
-pub const HTSIZE: LRESULT = HTGROWBOX;
-pub const HTMENU: LRESULT = 5;
-pub const HTHSCROLL: LRESULT = 6;
-pub const HTVSCROLL: LRESULT = 7;
-pub const HTMINBUTTON: LRESULT = 8;
-pub const HTMAXBUTTON: LRESULT = 9;
-pub const HTLEFT: LRESULT = 10;
-pub const HTRIGHT: LRESULT = 11;
-pub const HTTOP: LRESULT = 12;
-pub const HTTOPLEFT: LRESULT = 13;
-pub const HTTOPRIGHT: LRESULT = 14;
-pub const HTBOTTOM: LRESULT = 15;
-pub const HTBOTTOMLEFT: LRESULT = 16;
-pub const HTBOTTOMRIGHT: LRESULT = 17;
-pub const HTBORDER: LRESULT = 18;
-pub const HTREDUCE: LRESULT = HTMINBUTTON;
-pub const HTZOOM: LRESULT = HTMAXBUTTON;
-pub const HTSIZEFIRST: LRESULT = HTLEFT;
-pub const HTSIZELAST: LRESULT = HTBOTTOMRIGHT;
-pub const HTOBJECT: LRESULT = 19;
-pub const HTCLOSE: LRESULT = 20;
-pub const HTHELP: LRESULT = 21;
-pub const SMTO_NORMAL: UINT = 0x0000;
-pub const SMTO_BLOCK: UINT = 0x0001;
-pub const SMTO_ABORTIFHUNG: UINT = 0x0002;
-pub const SMTO_NOTIMEOUTIFNOTHUNG: UINT = 0x0008;
-pub const SMTO_ERRORONEXIT: UINT = 0x0020;
-pub const MA_ACTIVATE: UINT = 1;
-pub const MA_ACTIVATEANDEAT: UINT = 2;
-pub const MA_NOACTIVATE: UINT = 3;
-pub const MA_NOACTIVATEANDEAT: UINT = 4;
-pub const ICON_SMALL: UINT = 0;
-pub const ICON_BIG: UINT = 1;
-pub const ICON_SMALL2: UINT = 2;
-extern "system" {
- pub fn RegisterWindowMessageA(
- lpString: LPCSTR,
- ) -> UINT;
- pub fn RegisterWindowMessageW(
- lpString: LPCWSTR,
- ) -> UINT;
-}
-pub const SIZE_RESTORED: WPARAM = 0;
-pub const SIZE_MINIMIZED: WPARAM = 1;
-pub const SIZE_MAXIMIZED: WPARAM = 2;
-pub const SIZE_MAXSHOW: WPARAM = 3;
-pub const SIZE_MAXHIDE: WPARAM = 4;
-pub const SIZENORMAL: WPARAM = SIZE_RESTORED;
-pub const SIZEICONIC: WPARAM = SIZE_MINIMIZED;
-pub const SIZEFULLSCREEN: WPARAM = SIZE_MAXIMIZED;
-pub const SIZEZOOMSHOW: WPARAM = SIZE_MAXSHOW;
-pub const SIZEZOOMHIDE: WPARAM = SIZE_MAXHIDE;
-STRUCT!{struct WINDOWPOS {
- hwnd: HWND,
- hwndInsertAfter: HWND,
- x: c_int,
- y: c_int,
- cx: c_int,
- cy: c_int,
- flags: UINT,
-}}
-pub type LPWINDOWPOS = *mut WINDOWPOS;
-pub type PWINDOWPOS = *mut WINDOWPOS;
-STRUCT!{struct NCCALCSIZE_PARAMS {
- rgrc: [RECT; 3],
- lppos: PWINDOWPOS,
-}}
-pub type LPNCCALCSIZE_PARAMS = *mut NCCALCSIZE_PARAMS;
-pub const WVR_ALIGNTOP: LRESULT = 0x0010;
-pub const WVR_ALIGNLEFT: LRESULT = 0x0020;
-pub const WVR_ALIGNBOTTOM: LRESULT = 0x0040;
-pub const WVR_ALIGNRIGHT: LRESULT = 0x0080;
-pub const WVR_HREDRAW: LRESULT = 0x0100;
-pub const WVR_VREDRAW: LRESULT = 0x0200;
-pub const WVR_REDRAW: LRESULT = WVR_HREDRAW | WVR_VREDRAW;
-pub const WVR_VALIDRECTS: LRESULT = 0x0400;
-pub const MK_LBUTTON: WPARAM = 0x0001;
-pub const MK_RBUTTON: WPARAM = 0x0002;
-pub const MK_SHIFT: WPARAM = 0x0004;
-pub const MK_CONTROL: WPARAM = 0x0008;
-pub const MK_MBUTTON: WPARAM = 0x0010;
-pub const MK_XBUTTON1: WPARAM = 0x0020;
-pub const MK_XBUTTON2: WPARAM = 0x0040;
-pub const TME_HOVER: DWORD = 0x00000001;
-pub const TME_LEAVE: DWORD = 0x00000002;
-pub const TME_NONCLIENT: DWORD = 0x00000010;
-pub const TME_QUERY: DWORD = 0x40000000;
-pub const TME_CANCEL: DWORD = 0x80000000;
-pub const HOVER_DEFAULT: DWORD = 0xFFFFFFFF;
-STRUCT!{struct TRACKMOUSEEVENT {
- cbSize: DWORD,
- dwFlags: DWORD,
- hwndTrack: HWND,
- dwHoverTime: DWORD,
-}}
-pub type LPTRACKMOUSEEVENT = *mut TRACKMOUSEEVENT;
-extern "system" {
- pub fn TrackMouseEvent(
- lpEventTrack: LPTRACKMOUSEEVENT,
- ) -> BOOL;
-}
-pub const WS_OVERLAPPED: DWORD = 0x00000000;
-pub const WS_POPUP: DWORD = 0x80000000;
-pub const WS_CHILD: DWORD = 0x40000000;
-pub const WS_MINIMIZE: DWORD = 0x20000000;
-pub const WS_VISIBLE: DWORD = 0x10000000;
-pub const WS_DISABLED: DWORD = 0x08000000;
-pub const WS_CLIPSIBLINGS: DWORD = 0x04000000;
-pub const WS_CLIPCHILDREN: DWORD = 0x02000000;
-pub const WS_MAXIMIZE: DWORD = 0x01000000;
-pub const WS_CAPTION: DWORD = 0x00C00000;
-pub const WS_BORDER: DWORD = 0x00800000;
-pub const WS_DLGFRAME: DWORD = 0x00400000;
-pub const WS_VSCROLL: DWORD = 0x00200000;
-pub const WS_HSCROLL: DWORD = 0x00100000;
-pub const WS_SYSMENU: DWORD = 0x00080000;
-pub const WS_THICKFRAME: DWORD = 0x00040000;
-pub const WS_GROUP: DWORD = 0x00020000;
-pub const WS_TABSTOP: DWORD = 0x00010000;
-pub const WS_MINIMIZEBOX: DWORD = 0x00020000;
-pub const WS_MAXIMIZEBOX: DWORD = 0x00010000;
-pub const WS_TILED: DWORD = WS_OVERLAPPED;
-pub const WS_ICONIC: DWORD = WS_MINIMIZE;
-pub const WS_SIZEBOX: DWORD = WS_THICKFRAME;
-pub const WS_TILEDWINDOW: DWORD = WS_OVERLAPPEDWINDOW;
-pub const WS_OVERLAPPEDWINDOW: DWORD = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
- | WS_MINIMIZEBOX | WS_MAXIMIZEBOX;
-pub const WS_POPUPWINDOW: DWORD = WS_POPUP | WS_BORDER | WS_SYSMENU;
-pub const WS_CHILDWINDOW: DWORD = WS_CHILD;
-pub const WS_EX_DLGMODALFRAME: DWORD = 0x00000001;
-pub const WS_EX_NOPARENTNOTIFY: DWORD = 0x00000004;
-pub const WS_EX_TOPMOST: DWORD = 0x00000008;
-pub const WS_EX_ACCEPTFILES: DWORD = 0x00000010;
-pub const WS_EX_TRANSPARENT: DWORD = 0x00000020;
-pub const WS_EX_MDICHILD: DWORD = 0x00000040;
-pub const WS_EX_TOOLWINDOW: DWORD = 0x00000080;
-pub const WS_EX_WINDOWEDGE: DWORD = 0x00000100;
-pub const WS_EX_CLIENTEDGE: DWORD = 0x00000200;
-pub const WS_EX_CONTEXTHELP: DWORD = 0x00000400;
-pub const WS_EX_RIGHT: DWORD = 0x00001000;
-pub const WS_EX_LEFT: DWORD = 0x00000000;
-pub const WS_EX_RTLREADING: DWORD = 0x00002000;
-pub const WS_EX_LTRREADING: DWORD = 0x00000000;
-pub const WS_EX_LEFTSCROLLBAR: DWORD = 0x00004000;
-pub const WS_EX_RIGHTSCROLLBAR: DWORD = 0x00000000;
-pub const WS_EX_CONTROLPARENT: DWORD = 0x00010000;
-pub const WS_EX_STATICEDGE: DWORD = 0x00020000;
-pub const WS_EX_APPWINDOW: DWORD = 0x00040000;
-pub const WS_EX_OVERLAPPEDWINDOW: DWORD = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE;
-pub const WS_EX_PALETTEWINDOW: DWORD = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST;
-pub const WS_EX_LAYERED: DWORD = 0x00080000;
-pub const WS_EX_NOINHERITLAYOUT: DWORD = 0x00100000;
-pub const WS_EX_NOREDIRECTIONBITMAP: DWORD = 0x00200000;
-pub const WS_EX_LAYOUTRTL: DWORD = 0x00400000;
-pub const WS_EX_COMPOSITED: DWORD = 0x02000000;
-pub const WS_EX_NOACTIVATE: DWORD = 0x08000000;
-pub const CS_VREDRAW: UINT = 0x0001;
-pub const CS_HREDRAW: UINT = 0x0002;
-pub const CS_DBLCLKS: UINT = 0x0008;
-pub const CS_OWNDC: UINT = 0x0020;
-pub const CS_CLASSDC: UINT = 0x0040;
-pub const CS_PARENTDC: UINT = 0x0080;
-pub const CS_NOCLOSE: UINT = 0x0200;
-pub const CS_SAVEBITS: UINT = 0x0800;
-pub const CS_BYTEALIGNCLIENT: UINT = 0x1000;
-pub const CS_BYTEALIGNWINDOW: UINT = 0x2000;
-pub const CS_GLOBALCLASS: UINT = 0x4000;
-pub const CS_IME: UINT = 0x00010000;
-pub const CS_DROPSHADOW: UINT = 0x00020000;
-pub const PRF_CHECKVISIBLE: UINT = 0x00000001;
-pub const PRF_NONCLIENT: UINT = 0x00000002;
-pub const PRF_CLIENT: UINT = 0x00000004;
-pub const PRF_ERASEBKGND: UINT = 0x00000008;
-pub const PRF_CHILDREN: UINT = 0x00000010;
-pub const PRF_OWNED: UINT = 0x00000020;
-pub const BDR_RAISEDOUTER: UINT = 0x0001;
-pub const BDR_SUNKENOUTER: UINT = 0x0002;
-pub const BDR_RAISEDINNER: UINT = 0x0004;
-pub const BDR_SUNKENINNER: UINT = 0x0008;
-pub const BDR_OUTER: UINT = BDR_RAISEDOUTER | BDR_SUNKENOUTER;
-pub const BDR_INNER: UINT = BDR_RAISEDINNER | BDR_SUNKENINNER;
-pub const BDR_RAISED: UINT = BDR_RAISEDOUTER | BDR_RAISEDINNER;
-pub const BDR_SUNKEN: UINT = BDR_SUNKENOUTER | BDR_SUNKENINNER;
-pub const EDGE_RAISED: UINT = BDR_RAISEDOUTER | BDR_RAISEDINNER;
-pub const EDGE_SUNKEN: UINT = BDR_SUNKENOUTER | BDR_SUNKENINNER;
-pub const EDGE_ETCHED: UINT = BDR_SUNKENOUTER | BDR_RAISEDINNER;
-pub const EDGE_BUMP: UINT = BDR_RAISEDOUTER | BDR_SUNKENINNER;
-pub const BF_LEFT: UINT = 0x0001;
-pub const BF_TOP: UINT = 0x0002;
-pub const BF_RIGHT: UINT = 0x0004;
-pub const BF_BOTTOM: UINT = 0x0008;
-pub const BF_TOPLEFT: UINT = BF_TOP | BF_LEFT;
-pub const BF_TOPRIGHT: UINT = BF_TOP | BF_RIGHT;
-pub const BF_BOTTOMLEFT: UINT = BF_BOTTOM | BF_LEFT;
-pub const BF_BOTTOMRIGHT: UINT = BF_BOTTOM | BF_RIGHT;
-pub const BF_RECT: UINT = BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM;
-pub const BF_DIAGONAL: UINT = 0x0010;
-pub const BF_DIAGONAL_ENDTOPRIGHT: UINT = BF_DIAGONAL | BF_TOP | BF_RIGHT;
-pub const BF_DIAGONAL_ENDTOPLEFT: UINT = BF_DIAGONAL | BF_TOP | BF_LEFT;
-pub const BF_DIAGONAL_ENDBOTTOMLEFT: UINT = BF_DIAGONAL | BF_BOTTOM | BF_LEFT;
-pub const BF_DIAGONAL_ENDBOTTOMRIGHT: UINT = BF_DIAGONAL | BF_BOTTOM | BF_RIGHT;
-pub const BF_MIDDLE: UINT = 0x0800;
-pub const BF_SOFT: UINT = 0x1000;
-pub const BF_ADJUST: UINT = 0x2000;
-pub const BF_FLAT: UINT = 0x4000;
-pub const BF_MONO: UINT = 0x8000;
-extern "system" {
- pub fn DrawEdge(
- hdc: HDC,
- qrc: LPRECT,
- edge: UINT,
- grfFlags: UINT,
- ) -> BOOL;
-}
-pub const DFC_CAPTION: UINT = 1;
-pub const DFC_MENU: UINT = 2;
-pub const DFC_SCROLL: UINT = 3;
-pub const DFC_BUTTON: UINT = 4;
-pub const DFC_POPUPMENU: UINT = 5;
-pub const DFCS_CAPTIONCLOSE: UINT = 0x0000;
-pub const DFCS_CAPTIONMIN: UINT = 0x0001;
-pub const DFCS_CAPTIONMAX: UINT = 0x0002;
-pub const DFCS_CAPTIONRESTORE: UINT = 0x0003;
-pub const DFCS_CAPTIONHELP: UINT = 0x0004;
-pub const DFCS_MENUARROW: UINT = 0x0000;
-pub const DFCS_MENUCHECK: UINT = 0x0001;
-pub const DFCS_MENUBULLET: UINT = 0x0002;
-pub const DFCS_MENUARROWRIGHT: UINT = 0x0004;
-pub const DFCS_SCROLLUP: UINT = 0x0000;
-pub const DFCS_SCROLLDOWN: UINT = 0x0001;
-pub const DFCS_SCROLLLEFT: UINT = 0x0002;
-pub const DFCS_SCROLLRIGHT: UINT = 0x0003;
-pub const DFCS_SCROLLCOMBOBOX: UINT = 0x0005;
-pub const DFCS_SCROLLSIZEGRIP: UINT = 0x0008;
-pub const DFCS_SCROLLSIZEGRIPRIGHT: UINT = 0x0010;
-pub const DFCS_BUTTONCHECK: UINT = 0x0000;
-pub const DFCS_BUTTONRADIOIMAGE: UINT = 0x0001;
-pub const DFCS_BUTTONRADIOMASK: UINT = 0x0002;
-pub const DFCS_BUTTONRADIO: UINT = 0x0004;
-pub const DFCS_BUTTON3STATE: UINT = 0x0008;
-pub const DFCS_BUTTONPUSH: UINT = 0x0010;
-pub const DFCS_INACTIVE: UINT = 0x0100;
-pub const DFCS_PUSHED: UINT = 0x0200;
-pub const DFCS_CHECKED: UINT = 0x0400;
-pub const DFCS_TRANSPARENT: UINT = 0x0800;
-pub const DFCS_HOT: UINT = 0x1000;
-pub const DFCS_ADJUSTRECT: UINT = 0x2000;
-pub const DFCS_FLAT: UINT = 0x4000;
-pub const DFCS_MONO: UINT = 0x8000;
-extern "system" {
- pub fn DrawFrameControl(
- hdc: HDC,
- lprc: LPRECT,
- uType: UINT,
- uState: UINT,
- ) -> BOOL;
-}
-pub const DC_ACTIVE: UINT = 0x0001;
-pub const DC_SMALLCAP: UINT = 0x0002;
-pub const DC_ICON: UINT = 0x0004;
-pub const DC_TEXT: UINT = 0x0008;
-pub const DC_INBUTTON: UINT = 0x0010;
-pub const DC_GRADIENT: UINT = 0x0020;
-pub const DC_BUTTONS: UINT = 0x1000;
-extern "system" {
- pub fn DrawCaption(
- hwnd: HWND,
- hdc: HDC,
- lprect: *const RECT,
- flags: UINT,
- ) -> BOOL;
-}
-pub const IDANI_OPEN: c_int = 1;
-pub const IDANI_CAPTION: c_int = 3;
-extern "system" {
- pub fn DrawAnimatedRects(
- hwnd: HWND,
- idAni: c_int,
- lprcFrom: *const RECT,
- lprcTo: *const RECT,
- ) -> BOOL;
-}
-pub const CF_TEXT: UINT = 1;
-pub const CF_BITMAP: UINT = 2;
-pub const CF_METAFILEPICT: UINT = 3;
-pub const CF_SYLK: UINT = 4;
-pub const CF_DIF: UINT = 5;
-pub const CF_TIFF: UINT = 6;
-pub const CF_OEMTEXT: UINT = 7;
-pub const CF_DIB: UINT = 8;
-pub const CF_PALETTE: UINT = 9;
-pub const CF_PENDATA: UINT = 10;
-pub const CF_RIFF: UINT = 11;
-pub const CF_WAVE: UINT = 12;
-pub const CF_UNICODETEXT: UINT = 13;
-pub const CF_ENHMETAFILE: UINT = 14;
-pub const CF_HDROP: UINT = 15;
-pub const CF_LOCALE: UINT = 16;
-pub const CF_DIBV5: UINT = 17;
-pub const CF_MAX: UINT = 18;
-pub const CF_OWNERDISPLAY: UINT = 0x0080;
-pub const CF_DSPTEXT: UINT = 0x0081;
-pub const CF_DSPBITMAP: UINT = 0x0082;
-pub const CF_DSPMETAFILEPICT: UINT = 0x0083;
-pub const CF_DSPENHMETAFILE: UINT = 0x008E;
-pub const CF_PRIVATEFIRST: UINT = 0x0200;
-pub const CF_PRIVATELAST: UINT = 0x02FF;
-pub const CF_GDIOBJFIRST: UINT = 0x0300;
-pub const CF_GDIOBJLAST: UINT = 0x03FF;
-pub const FVIRTKEY: BYTE = TRUE as u8;
-pub const FNOINVERT: BYTE = 0x02;
-pub const FSHIFT: BYTE = 0x04;
-pub const FCONTROL: BYTE = 0x08;
-pub const FALT: BYTE = 0x10;
-STRUCT!{struct ACCEL {
- fVirt: BYTE,
- key: WORD,
- cmd: WORD,
-}}
-pub type LPACCEL = *mut ACCEL;
-STRUCT!{struct PAINTSTRUCT {
- hdc: HDC,
- fErase: BOOL,
- rcPaint: RECT,
- fRestore: BOOL,
- fIncUpdate: BOOL,
- rgbReserved: [BYTE; 32],
-}}
-pub type PPAINTSTRUCT = *mut PAINTSTRUCT;
-pub type NPPAINTSTRUCT = *mut PAINTSTRUCT;
-pub type LPPAINTSTRUCT = *mut PAINTSTRUCT;
-STRUCT!{struct CREATESTRUCTA {
- lpCreateParams: LPVOID,
- hInstance: HINSTANCE,
- hMenu: HMENU,
- hwndParent: HWND,
- cy: c_int,
- cx: c_int,
- y: c_int,
- x: c_int,
- style: LONG,
- lpszName: LPCSTR,
- lpszClass: LPCSTR,
- dwExStyle: DWORD,
-}}
-pub type LPCREATESTRUCTA = *mut CREATESTRUCTA;
-STRUCT!{struct CREATESTRUCTW {
- lpCreateParams: LPVOID,
- hInstance: HINSTANCE,
- hMenu: HMENU,
- hwndParent: HWND,
- cy: c_int,
- cx: c_int,
- y: c_int,
- x: c_int,
- style: LONG,
- lpszName: LPCWSTR,
- lpszClass: LPCWSTR,
- dwExStyle: DWORD,
-}}
-pub type LPCREATESTRUCTW = *mut CREATESTRUCTW;
-STRUCT!{struct WINDOWPLACEMENT {
- length: UINT,
- flags: UINT,
- showCmd: UINT,
- ptMinPosition: POINT,
- ptMaxPosition: POINT,
- rcNormalPosition: RECT,
-}}
-pub type PWINDOWPLACEMENT = *mut WINDOWPLACEMENT;
-pub type LPWINDOWPLACEMENT = *mut WINDOWPLACEMENT;
-pub const WPF_SETMINPOSITION: UINT = 0x0001;
-pub const WPF_RESTORETOMAXIMIZED: UINT = 0x0002;
-pub const WPF_ASYNCWINDOWPLACEMENT: UINT = 0x0004;
-STRUCT!{struct NMHDR {
- hwndFrom: HWND,
- idFrom: UINT_PTR,
- code: UINT,
-}}
-pub type LPNMHDR = *mut NMHDR;
-STRUCT!{struct STYLESTRUCT {
- styleOld: DWORD,
- styleNew: DWORD,
-}}
-pub type LPSTYLESTRUCT = *mut STYLESTRUCT;
-pub const ODT_MENU: UINT = 1;
-pub const ODT_LISTBOX: UINT = 2;
-pub const ODT_COMBOBOX: UINT = 3;
-pub const ODT_BUTTON: UINT = 4;
-pub const ODT_STATIC: UINT = 5;
-pub const ODA_DRAWENTIRE: UINT = 0x0001;
-pub const ODA_SELECT: UINT = 0x0002;
-pub const ODA_FOCUS: UINT = 0x0004;
-pub const ODS_SELECTED: UINT = 0x0001;
-pub const ODS_GRAYED: UINT = 0x0002;
-pub const ODS_DISABLED: UINT = 0x0004;
-pub const ODS_CHECKED: UINT = 0x0008;
-pub const ODS_FOCUS: UINT = 0x0010;
-pub const ODS_DEFAULT: UINT = 0x0020;
-pub const ODS_COMBOBOXEDIT: UINT = 0x1000;
-pub const ODS_HOTLIGHT: UINT = 0x0040;
-pub const ODS_INACTIVE: UINT = 0x0080;
-pub const ODS_NOACCEL: UINT = 0x0100;
-pub const ODS_NOFOCUSRECT: UINT = 0x0200;
-STRUCT!{struct MEASUREITEMSTRUCT {
- CtlType: UINT,
- CtlID: UINT,
- itemID: UINT,
- itemWidth: UINT,
- itemHeight: UINT,
- itemData: ULONG_PTR,
-}}
-pub type PMEASUREITEMSTRUCT = *mut MEASUREITEMSTRUCT;
-pub type LPMEASUREITEMSTRUCT = *mut MEASUREITEMSTRUCT;
-STRUCT!{struct DRAWITEMSTRUCT {
- CtlType: UINT,
- CtlID: UINT,
- itemID: UINT,
- itemAction: UINT,
- itemState: UINT,
- hwndItem: HWND,
- hDC: HDC,
- rcItem: RECT,
- itemData: ULONG_PTR,
-}}
-pub type PDRAWITEMSTRUCT = *mut DRAWITEMSTRUCT;
-pub type LPDRAWITEMSTRUCT = *mut DRAWITEMSTRUCT;
-STRUCT!{struct DELETEITEMSTRUCT {
- CtlType: UINT,
- CtlID: UINT,
- itemID: UINT,
- hwndItem: HWND,
- itemData: ULONG_PTR,
-}}
-pub type PDELETEITEMSTRUCT = *mut DELETEITEMSTRUCT;
-pub type LPDELETEITEMSTRUCT = *mut DELETEITEMSTRUCT;
-STRUCT!{struct COMPAREITEMSTRUCT {
- CtlType: UINT,
- CtlID: UINT,
- hwndItem: HWND,
- itemID1: UINT,
- itemData1: ULONG_PTR,
- itemID2: UINT,
- itemData2: ULONG_PTR,
- dwLocaleId: DWORD,
-}}
-pub type PCOMPAREITEMSTRUCT = *mut COMPAREITEMSTRUCT;
-pub type LPCOMPAREITEMSTRUCT = *mut COMPAREITEMSTRUCT;
-extern "system" {
- pub fn GetMessageA(
- lpMsg: LPMSG,
- hWnd: HWND,
- wMsgFilterMin: UINT,
- wMsgFilterMax: UINT,
- ) -> BOOL;
- pub fn GetMessageW(
- lpMsg: LPMSG,
- hWnd: HWND,
- wMsgFilterMin: UINT,
- wMsgFilterMax: UINT,
- ) -> BOOL;
- pub fn TranslateMessage(
- lpmsg: *const MSG,
- ) -> BOOL;
- pub fn DispatchMessageA(
- lpmsg: *const MSG,
- ) -> LRESULT;
- pub fn DispatchMessageW(
- lpmsg: *const MSG,
- ) -> LRESULT;
- pub fn SetMessageQueue(
- cMessagesMax: c_int,
- ) -> BOOL;
- pub fn PeekMessageA(
- lpMsg: LPMSG,
- hWnd: HWND,
- wMsgFilterMin: UINT,
- wMsgFilterMax: UINT,
- wRemoveMsg: UINT,
- ) -> BOOL;
- pub fn PeekMessageW(
- lpMsg: LPMSG,
- hWnd: HWND,
- wMsgFilterMin: UINT,
- wMsgFilterMax: UINT,
- wRemoveMsg: UINT,
- ) -> BOOL;
-}
-pub const PM_NOREMOVE: UINT = 0x0000;
-pub const PM_REMOVE: UINT = 0x0001;
-pub const PM_NOYIELD: UINT = 0x0002;
-pub const PM_QS_INPUT: UINT = QS_INPUT << 16;
-pub const PM_QS_POSTMESSAGE: UINT = (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16;
-pub const PM_QS_PAINT: UINT = QS_PAINT << 16;
-pub const PM_QS_SENDMESSAGE: UINT = QS_SENDMESSAGE << 16;
-extern "system" {
- pub fn RegisterHotKey(
- hwnd: HWND,
- id: c_int,
- fsModifiers: UINT,
- vk: UINT,
- ) -> BOOL;
- pub fn UnregisterHotKey(
- hWnd: HWND,
- id: c_int,
- ) -> BOOL;
-}
-pub const MOD_ALT: LPARAM = 0x0001;
-pub const MOD_CONTROL: LPARAM = 0x0002;
-pub const MOD_SHIFT: LPARAM = 0x0004;
-pub const MOD_WIN: LPARAM = 0x0008;
-pub const MOD_NOREPEAT: LPARAM = 0x4000;
-pub const IDHOT_SNAPWINDOW: WPARAM = -1isize as usize;
-pub const IDHOT_SNAPDESKTOP: WPARAM = -2isize as usize;
-pub const ENDSESSION_CLOSEAPP: UINT = 0x00000001;
-pub const ENDSESSION_CRITICAL: UINT = 0x40000000;
-pub const ENDSESSION_LOGOFF: UINT = 0x80000000;
-pub const EWX_LOGOFF: UINT = 0x00000000;
-pub const EWX_SHUTDOWN: UINT = 0x00000001;
-pub const EWX_REBOOT: UINT = 0x00000002;
-pub const EWX_FORCE: UINT = 0x00000004;
-pub const EWX_POWEROFF: UINT = 0x00000008;
-pub const EWX_FORCEIFHUNG: UINT = 0x00000010;
-pub const EWX_QUICKRESOLVE: UINT = 0x00000020;
-pub const EWX_RESTARTAPPS: UINT = 0x00000040;
-pub const EWX_HYBRID_SHUTDOWN: UINT = 0x00400000;
-pub const EWX_BOOTOPTIONS: UINT = 0x01000000;
-// ExitWindows
-extern "system" {
- pub fn ExitWindowsEx(
- uFlags: UINT,
- dwReason: DWORD,
- ) -> BOOL;
- pub fn SwapMouseButton(
- fSwap: BOOL,
- ) -> BOOL;
- pub fn GetMessagePos() -> DWORD;
- pub fn GetMessageTime() -> LONG;
- pub fn GetMessageExtraInfo() -> LPARAM;
- pub fn GetUnpredictedMessagePos() -> DWORD;
- pub fn IsWow64Message() -> BOOL;
- pub fn SetMessageExtraInfo(
- lParam: LPARAM,
- ) -> LPARAM;
- pub fn SendMessageA(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn SendMessageW(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn SendMessageTimeoutA(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- fuFlags: UINT,
- uTimeout: UINT,
- lpdwResult: PDWORD_PTR,
- ) -> LRESULT;
- pub fn SendMessageTimeoutW(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- fuFlags: UINT,
- uTimeout: UINT,
- lpdwResult: PDWORD_PTR,
- ) -> LRESULT;
- pub fn SendNotifyMessageA(
- hWnd: HWND,
- msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn SendNotifyMessageW(
- hWnd: HWND,
- msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn SendMessageCallbackA(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- lpResultCallBack: SENDASYNCPROC,
- dwData: ULONG_PTR,
- ) -> BOOL;
- pub fn SendMessageCallbackW(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- lpResultCallBack: SENDASYNCPROC,
- dwData: ULONG_PTR,
- ) -> BOOL;
-}
-STRUCT!{struct BSMINFO {
- cbSize: UINT,
- hdesk: HDESK,
- hwnd: HWND,
- luid: LUID,
-}}
-pub type PBSMINFO = *mut BSMINFO;
-extern "system" {
- pub fn BroadcastSystemMessageExA(
- flags: DWORD,
- lpInfo: LPDWORD,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- pbsmInfo: PBSMINFO,
- ) -> c_long;
- pub fn BroadcastSystemMessageExW(
- flags: DWORD,
- lpInfo: LPDWORD,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- pbsmInfo: PBSMINFO,
- ) -> c_long;
- pub fn BroadcastSystemMessageA(
- flags: DWORD,
- lpInfo: LPDWORD,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LONG;
- pub fn BroadcastSystemMessageW(
- flags: DWORD,
- lpInfo: LPDWORD,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LONG;
-}
-pub const BSM_ALLCOMPONENTS: DWORD = 0x00000000;
-pub const BSM_VXDS: DWORD = 0x00000001;
-pub const BSM_NETDRIVER: DWORD = 0x00000002;
-pub const BSM_INSTALLABLEDRIVERS: DWORD = 0x00000004;
-pub const BSM_APPLICATIONS: DWORD = 0x00000008;
-pub const BSM_ALLDESKTOPS: DWORD = 0x00000010;
-pub const BSF_QUERY: DWORD = 0x00000001;
-pub const BSF_IGNORECURRENTTASK: DWORD = 0x00000002;
-pub const BSF_FLUSHDISK: DWORD = 0x00000004;
-pub const BSF_NOHANG: DWORD = 0x00000008;
-pub const BSF_POSTMESSAGE: DWORD = 0x00000010;
-pub const BSF_FORCEIFHUNG: DWORD = 0x00000020;
-pub const BSF_NOTIMEOUTIFNOTHUNG: DWORD = 0x00000040;
-pub const BSF_ALLOWSFW: DWORD = 0x00000080;
-pub const BSF_SENDNOTIFYMESSAGE: DWORD = 0x00000100;
-pub const BSF_RETURNHDESK: DWORD = 0x00000200;
-pub const BSF_LUID: DWORD = 0x00000400;
-pub const BROADCAST_QUERY_DENY: DWORD = 0x424D5144;
-pub type HDEVNOTIFY = PVOID;
-pub type PHDEVNOTIFY = *mut HDEVNOTIFY;
-pub const DEVICE_NOTIFY_WINDOW_HANDLE: DWORD = 0x00000000;
-pub const DEVICE_NOTIFY_SERVICE_HANDLE: DWORD = 0x00000001;
-pub const DEVICE_NOTIFY_ALL_INTERFACE_CLASSES: DWORD = 0x00000004;
-extern "system" {
- pub fn RegisterDeviceNotificationA(
- hRecipient: HANDLE,
- notificationFilter: LPVOID,
- flags: DWORD,
- ) -> HDEVNOTIFY;
- pub fn RegisterDeviceNotificationW(
- hRecipient: HANDLE,
- notificationFilter: LPVOID,
- flags: DWORD,
- ) -> HDEVNOTIFY;
- pub fn UnregisterDeviceNotification(
- Handle: HDEVNOTIFY,
- ) -> BOOL;
-}
-pub type HPOWERNOTIFY = PVOID;
-pub type PHPOWERNOTIFY = *mut HPOWERNOTIFY;
-extern "system" {
- pub fn RegisterPowerSettingNotification(
- hRecipient: HANDLE,
- PowerSettingGuid: LPCGUID,
- Flags: DWORD,
- ) -> HPOWERNOTIFY;
- pub fn UnregisterPowerSettingNotification(
- Handle: HPOWERNOTIFY,
- ) -> BOOL;
- pub fn RegisterSuspendResumeNotification(
- hRecipient: HANDLE,
- Flags: DWORD,
- ) -> HPOWERNOTIFY;
- pub fn UnregisterSuspendResumeNotification(
- Handle: HPOWERNOTIFY,
- ) -> BOOL;
- pub fn PostMessageA(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn PostMessageW(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn PostThreadMessageA(
- idThread: DWORD,
- msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn PostThreadMessageW(
- idThread: DWORD,
- msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> BOOL;
-}
-// PostAppMessageA
-// PostAppMessageW
-pub const HWND_BROADCAST: HWND = 0xffff as HWND;
-pub const HWND_MESSAGE: HWND = -3isize as HWND;
-extern "system" {
- pub fn AttachThreadInput(
- idAttach: DWORD,
- idAttachTo: DWORD,
- fAttach: BOOL,
- ) -> BOOL;
- pub fn ReplyMessage(
- lResult: LRESULT,
- ) -> BOOL;
- pub fn WaitMessage() -> BOOL;
- pub fn WaitForInputIdle(
- hProcess: HANDLE,
- dwMilliseconds: DWORD,
- ) -> DWORD;
- pub fn DefWindowProcA(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn DefWindowProcW(
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn PostQuitMessage(
- nExitCode: c_int,
- );
- pub fn CallWindowProcA(
- lpPrevWndFunc: WNDPROC,
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn CallWindowProcW(
- lpPrevWndFunc: WNDPROC,
- hWnd: HWND,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn InSendMessage() -> BOOL;
- pub fn InSendMessageEx(
- lpReserved: LPVOID,
- ) -> DWORD;
-}
-pub const ISMEX_NOSEND: DWORD = 0x00000000;
-pub const ISMEX_SEND: DWORD = 0x00000001;
-pub const ISMEX_NOTIFY: DWORD = 0x00000002;
-pub const ISMEX_CALLBACK: DWORD = 0x00000004;
-pub const ISMEX_REPLIED: DWORD = 0x00000008;
-extern "system" {
- pub fn GetDoubleClickTime() -> UINT;
- pub fn SetDoubleClickTime(
- uInterval: UINT,
- ) -> BOOL;
- pub fn RegisterClassA(
- lpWndClass: *const WNDCLASSA,
- ) -> ATOM;
- pub fn RegisterClassW(
- lpWndClass: *const WNDCLASSW,
- ) -> ATOM;
- pub fn UnregisterClassA(
- lpClassName: LPCSTR,
- hInstance: HINSTANCE,
- ) -> BOOL;
- pub fn UnregisterClassW(
- lpClassName: LPCWSTR,
- hInstance: HINSTANCE,
- ) -> BOOL;
- pub fn GetClassInfoA(
- hInstance: HINSTANCE,
- lpClassName: LPCSTR,
- lpWndClass: LPWNDCLASSA,
- ) -> BOOL;
- pub fn GetClassInfoW(
- hInstance: HINSTANCE,
- lpClassName: LPCWSTR,
- lpWndClass: LPWNDCLASSW,
- ) -> BOOL;
- pub fn RegisterClassExA(
- lpWndClass: *const WNDCLASSEXA,
- ) -> ATOM;
- pub fn RegisterClassExW(
- lpWndClass: *const WNDCLASSEXW,
- ) -> ATOM;
- pub fn GetClassInfoExA(
- hinst: HINSTANCE,
- lpszClass: LPCSTR,
- lpwcx: LPWNDCLASSEXA,
- ) -> BOOL;
- pub fn GetClassInfoExW(
- hinst: HINSTANCE,
- lpszClass: LPCWSTR,
- lpwcx: LPWNDCLASSEXW,
- ) -> BOOL;
-}
-pub const CW_USEDEFAULT: c_int = 0x80000000;
-pub const HWND_DESKTOP: HWND = 0 as HWND;
-FN!{stdcall PREGISTERCLASSNAMEW(
- LPCWSTR,
-) -> BOOLEAN}
-extern "system" {
- pub fn CreateWindowExA(
- dwExStyle: DWORD,
- lpClassName: LPCSTR,
- lpWindowName: LPCSTR,
- dwStyle: DWORD,
- x: c_int,
- y: c_int,
- nWidth: c_int,
- nHeight: c_int,
- hWndParent: HWND,
- hMenu: HMENU,
- hInstance: HINSTANCE,
- lpParam: LPVOID,
- ) -> HWND;
- pub fn CreateWindowExW(
- dwExStyle: DWORD,
- lpClassName: LPCWSTR,
- lpWindowName: LPCWSTR,
- dwStyle: DWORD,
- x: c_int,
- y: c_int,
- nWidth: c_int,
- nHeight: c_int,
- hWndParent: HWND,
- hMenu: HMENU,
- hInstance: HINSTANCE,
- lpParam: LPVOID,
- ) -> HWND;
-}
-// CreateWindowA
-// CreateWindowW
-extern "system" {
- pub fn IsWindow(
- hWnd: HWND,
- ) -> BOOL;
- pub fn IsMenu(
- hMenu: HMENU,
- ) -> BOOL;
- pub fn IsChild(
- hWndParent: HWND,
- hWnd: HWND,
- ) -> BOOL;
- pub fn DestroyWindow(
- hWnd: HWND,
- ) -> BOOL;
- pub fn ShowWindow(
- hWnd: HWND,
- nCmdShow: c_int,
- ) -> BOOL;
- pub fn AnimateWindow(
- hWnd: HWND,
- dwTime: DWORD,
- dwFlags: DWORD,
- ) -> BOOL;
- pub fn UpdateLayeredWindow(
- hWnd: HWND,
- hdcDst: HDC,
- pptDst: *mut POINT,
- psize: *mut SIZE,
- hdcSrc: HDC,
- pptSrc: *mut POINT,
- crKey: COLORREF,
- pblend: *mut BLENDFUNCTION,
- dwFlags: DWORD,
- ) -> BOOL;
-}
-STRUCT!{struct UPDATELAYEREDWINDOWINFO {
- cbSize: DWORD,
- hdcDst: HDC,
- pptDst: *const POINT,
- psize: *const SIZE,
- hdcSrc: HDC,
- pptSrc: *const POINT,
- crKey: COLORREF,
- pblend: *const BLENDFUNCTION,
- dwFlags: DWORD,
- prcDirty: *const RECT,
-}}
-pub type PUPDATELAYEREDWINDOWINFO = *mut UPDATELAYEREDWINDOWINFO;
-extern "system" {
- pub fn UpdateLayeredWindowIndirect(
- hWnd: HWND,
- pULWInfo: *mut UPDATELAYEREDWINDOWINFO,
- ) -> BOOL;
- pub fn GetLayeredWindowAttributes(
- hwnd: HWND,
- pcrKey: *mut COLORREF,
- pbAlpha: *mut BYTE,
- pdwFlags: *mut DWORD,
- ) -> BOOL;
-}
-pub const PW_CLIENTONLY: DWORD = 0x00000001;
-pub const PW_RENDERFULLCONTENT: DWORD = 0x00000002;
-extern "system" {
- pub fn PrintWindow(
- hwnd: HWND,
- hdcBlt: HDC,
- nFlags: UINT,
- ) -> BOOL;
- pub fn SetLayeredWindowAttributes(
- hwnd: HWND,
- crKey: COLORREF,
- bAlpha: BYTE,
- dwFlags: DWORD,
- ) -> BOOL;
-}
-pub const LWA_COLORKEY: DWORD = 0x00000001;
-pub const LWA_ALPHA: DWORD = 0x00000002;
-pub const ULW_COLORKEY: DWORD = 0x00000001;
-pub const ULW_ALPHA: DWORD = 0x00000002;
-pub const ULW_OPAQUE: DWORD = 0x00000004;
-pub const ULW_EX_NORESIZE: DWORD = 0x00000008;
-extern "system" {
- pub fn ShowWindowAsync(
- hWnd: HWND,
- nCmdShow: c_int,
- ) -> BOOL;
- pub fn FlashWindow(
- hwnd: HWND,
- bInvert: BOOL,
- ) -> BOOL;
-}
-STRUCT!{struct FLASHWINFO {
- cbSize: UINT,
- hwnd: HWND,
- dwFlags: DWORD,
- uCount: UINT,
- dwTimeout: DWORD,
-}}
-pub type PFLASHWINFO = *mut FLASHWINFO;
-extern "system" {
- pub fn FlashWindowEx(
- pfwi: PFLASHWINFO,
- ) -> BOOL;
-}
-pub const FLASHW_STOP: DWORD = 0;
-pub const FLASHW_CAPTION: DWORD = 0x00000001;
-pub const FLASHW_TRAY: DWORD = 0x00000002;
-pub const FLASHW_ALL: DWORD = FLASHW_CAPTION | FLASHW_TRAY;
-pub const FLASHW_TIMER: DWORD = 0x00000004;
-pub const FLASHW_TIMERNOFG: DWORD = 0x0000000C;
-extern "system" {
- pub fn ShowOwnedPopups(
- hWnd: HWND,
- fShow: BOOL,
- ) -> BOOL;
- pub fn OpenIcon(
- hWnd: HWND,
- ) -> BOOL;
- pub fn CloseWindow(
- hWnd: HWND,
- ) -> BOOL;
- pub fn MoveWindow(
- hWnd: HWND,
- X: c_int,
- Y: c_int,
- nWidth: c_int,
- nHeight: c_int,
- bRepaint: BOOL,
- ) -> BOOL;
- pub fn SetWindowPos(
- hWnd: HWND,
- hWndInsertAfter: HWND,
- X: c_int,
- Y: c_int,
- cx: c_int,
- cy: c_int,
- uFlags: UINT,
- ) -> BOOL;
- pub fn GetWindowPlacement(
- hWnd: HWND,
- lpwndpl: *mut WINDOWPLACEMENT,
- ) -> BOOL;
- pub fn SetWindowPlacement(
- hWnd: HWND,
- lpwndpl: *const WINDOWPLACEMENT,
- ) -> BOOL;
-}
-pub const WDA_NONE: DWORD = 0x00000000;
-pub const WDA_MONITOR: DWORD = 0x00000001;
-extern "system" {
- pub fn GetWindowDisplayAffinity(
- hWnd: HWND,
- pdwAffinity: *mut DWORD,
- ) -> BOOL;
- pub fn SetWindowDisplayAffinity(
- hWnd: HWND,
- dwAffinity: DWORD,
- ) -> BOOL;
- pub fn BeginDeferWindowPos(
- nNumWindows: c_int,
- ) -> HDWP;
- pub fn DeferWindowPos(
- hWinPosInfo: HDWP,
- hWnd: HWND,
- hWndInserAfter: HWND,
- x: c_int,
- y: c_int,
- cx: c_int,
- cy: c_int,
- uFlags: UINT,
- ) -> HDWP;
- pub fn EndDeferWindowPos(
- hWinPosInfo: HDWP,
- ) -> BOOL;
- pub fn IsWindowVisible(
- hWnd: HWND,
- ) -> BOOL;
- pub fn IsIconic(
- hWnd: HWND,
- ) -> BOOL;
- pub fn AnyPopup() -> BOOL;
- pub fn BringWindowToTop(
- hWnd: HWND,
- ) -> BOOL;
- pub fn IsZoomed(
- hwnd: HWND,
- ) -> BOOL;
-}
-pub const SWP_NOSIZE: UINT = 0x0001;
-pub const SWP_NOMOVE: UINT = 0x0002;
-pub const SWP_NOZORDER: UINT = 0x0004;
-pub const SWP_NOREDRAW: UINT = 0x0008;
-pub const SWP_NOACTIVATE: UINT = 0x0010;
-pub const SWP_FRAMECHANGED: UINT = 0x0020;
-pub const SWP_SHOWWINDOW: UINT = 0x0040;
-pub const SWP_HIDEWINDOW: UINT = 0x0080;
-pub const SWP_NOCOPYBITS: UINT = 0x0100;
-pub const SWP_NOOWNERZORDER: UINT = 0x0200;
-pub const SWP_NOSENDCHANGING: UINT = 0x0400;
-pub const SWP_DRAWFRAME: UINT = SWP_FRAMECHANGED;
-pub const SWP_NOREPOSITION: UINT = SWP_NOOWNERZORDER;
-pub const SWP_DEFERERASE: UINT = 0x2000;
-pub const SWP_ASYNCWINDOWPOS: UINT = 0x4000;
-pub const HWND_TOP: HWND = 0 as HWND;
-pub const HWND_BOTTOM: HWND = 1 as HWND;
-pub const HWND_TOPMOST: HWND = -1isize as HWND;
-pub const HWND_NOTOPMOST: HWND = -2isize as HWND;
-// FIXME packed(2)
-STRUCT!{#[repr(packed)] struct DLGTEMPLATE {
- style: DWORD,
- dwExtendedStyle: DWORD,
- cdit: WORD,
- x: c_short,
- y: c_short,
- cx: c_short,
- cy: c_short,
-}}
-pub type LPDLGTEMPLATEA = *mut DLGTEMPLATE;
-pub type LPDLGTEMPLATEW = *mut DLGTEMPLATE;
-pub type LPCDLGTEMPLATEA = *const DLGTEMPLATE;
-pub type LPCDLGTEMPLATEW = *const DLGTEMPLATE;
-// FIXME packed(2)
-STRUCT!{#[repr(packed)] struct DLGITEMTEMPLATE {
- style: DWORD,
- dwExtendedStyle: DWORD,
- x: c_short,
- y: c_short,
- cx: c_short,
- cy: c_short,
- id: WORD,
-}}
-pub type PDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE;
-pub type PDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE;
-pub type LPDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE;
-pub type LPDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE;
-extern "system" {
- pub fn CreateDialogParamA(
- hInstance: HINSTANCE,
- lpTemplateName: LPCSTR,
- hWndParent: HWND,
- lpDialogFunc: DLGPROC,
- dwInitParam: LPARAM,
- ) -> HWND;
- pub fn CreateDialogParamW(
- hInstance: HINSTANCE,
- lpTemplateName: LPCWSTR,
- hWndParent: HWND,
- lpDialogFunc: DLGPROC,
- dwInitParam: LPARAM,
- ) -> HWND;
- pub fn CreateDialogIndirectParamA(
- hInstance: HINSTANCE,
- lpTemplate: LPCDLGTEMPLATEA,
- hWndParent: HWND,
- lpDialogFunc: DLGPROC,
- dwInitParam: LPARAM,
- ) -> HWND;
- pub fn CreateDialogIndirectParamW(
- hInstance: HINSTANCE,
- lpTemplate: LPCDLGTEMPLATEW,
- hWndParent: HWND,
- lpDialogFunc: DLGPROC,
- dwInitParam: LPARAM,
- ) -> HWND;
-}
-// CreateDialogA
-// CreateDialogW
-// CreateDialogIndirectA
-// CreateDialogIndirectW
-extern "system" {
- pub fn DialogBoxParamA(
- hInstance: HINSTANCE,
- lpTemplateName: LPCSTR,
- hWndParent: HWND,
- lpDialogFunc: DLGPROC,
- dwInitParam: LPARAM,
- ) -> INT_PTR;
- pub fn DialogBoxParamW(
- hInstance: HINSTANCE,
- lpTemplateName: LPCWSTR,
- hWndParent: HWND,
- lpDialogFunc: DLGPROC,
- dwInitParam: LPARAM,
- ) -> INT_PTR;
- pub fn DialogBoxIndirectParamA(
- hInstance: HINSTANCE,
- hDialogTemplate: LPCDLGTEMPLATEA,
- hWndParent: HWND,
- lpDialogFunc: DLGPROC,
- dwInitParam: LPARAM,
- ) -> INT_PTR;
- pub fn DialogBoxIndirectParamW(
- hInstance: HINSTANCE,
- hDialogTemplate: LPCDLGTEMPLATEW,
- hWndParent: HWND,
- lpDialogFunc: DLGPROC,
- dwInitParam: LPARAM,
- ) -> INT_PTR;
-}
-// DialogBoxA
-// DialogBoxW
-// DialogBoxIndirectA
-// DialogBoxIndirectW
-extern "system" {
- pub fn EndDialog(
- hDlg: HWND,
- nResult: INT_PTR,
- ) -> BOOL;
- pub fn GetDlgItem(
- hDlg: HWND,
- nIDDlgItem: c_int,
- ) -> HWND;
- pub fn SetDlgItemInt(
- hDlg: HWND,
- nIDDlgItem: c_int,
- uValue: UINT,
- bSigned: BOOL,
- ) -> BOOL;
- pub fn GetDlgItemInt(
- hDlg: HWND,
- nIDDlgItem: c_int,
- lpTranslated: *mut BOOL,
- bSigned: BOOL,
- ) -> UINT;
- pub fn SetDlgItemTextA(
- hDlg: HWND,
- nIDDlgItem: c_int,
- lpString: LPCSTR,
- ) -> BOOL;
- pub fn SetDlgItemTextW(
- hDlg: HWND,
- nIDDlgItem: c_int,
- lpString: LPCWSTR,
- ) -> BOOL;
- pub fn GetDlgItemTextA(
- hDlg: HWND,
- nIDDlgItem: c_int,
- lpString: LPSTR,
- nMaxCount: c_int,
- ) -> UINT;
- pub fn GetDlgItemTextW(
- hDlg: HWND,
- nIDDlgItem: c_int,
- lpString: LPWSTR,
- nMaxCount: c_int,
- ) -> UINT;
- pub fn CheckDlgButton(
- hDlg: HWND,
- nIDButton: c_int,
- uCheck: UINT,
- ) -> BOOL;
- pub fn CheckRadioButton(
- hDlg: HWND,
- nIDFirstButton: c_int,
- nIDLasatButton: c_int,
- nIDCheckButton: c_int,
- ) -> BOOL;
- pub fn IsDlgButtonChecked(
- hDlg: HWND,
- nIDButton: c_int,
- ) -> UINT;
- pub fn SendDlgItemMessageA(
- hDlg: HWND,
- nIDDlgItem: c_int,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn SendDlgItemMessageW(
- hDlg: HWND,
- nIDDlgItem: c_int,
- Msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn GetNextDlgGroupItem(
- hDlg: HWND,
- hCtl: HWND,
- bPrevious: BOOL,
- ) -> HWND;
- pub fn GetNextDlgTabItem(
- hDlg: HWND,
- hCtl: HWND,
- bPrevious: BOOL,
- ) -> HWND;
- pub fn GetDlgCtrlID(
- hwnd: HWND,
- ) -> c_int;
- pub fn GetDialogBaseUnits() -> LONG;
- pub fn DefDlgProcA(
- hDlg: HWND,
- msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn DefDlgProcW(
- hDlg: HWND,
- msg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
-}
-ENUM!{enum DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS {
- DCDC_DEFAULT = 0x0000,
- DCDC_DISABLE_FONT_UPDATE = 0x0001,
- DCDC_DISABLE_RELAYOUT = 0x0002,
-}}
-extern "system" {
- pub fn SetDialogControlDpiChangeBehavior(
- hwnd: HWND,
- mask: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS,
- values: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS,
- ) -> BOOL;
- pub fn GetDialogControlDpiChangeBehavior(
- hwnd: HWND,
- ) -> DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS;
-}
-ENUM!{enum DIALOG_DPI_CHANGE_BEHAVIORS {
- DDC_DEFAULT = 0x0000,
- DDC_DISABLE_ALL = 0x0001,
- DDC_DISABLE_RESIZE = 0x0002,
- DDC_DISABLE_CONTROL_RELAYOUT = 0x0004,
-}}
-extern "system" {
- pub fn SetDialogDpiChangeBehavior(
- hDlg: HWND,
- mask: DIALOG_DPI_CHANGE_BEHAVIORS,
- values: DIALOG_DPI_CHANGE_BEHAVIORS,
- ) -> BOOL;
- pub fn GetDialogDpiChangeBehavior(
- hDlg: HWND,
- ) -> DIALOG_DPI_CHANGE_BEHAVIORS;
- pub fn CallMsgFilterA(
- lpMsg: LPMSG,
- nCode: c_int,
- ) -> BOOL;
- pub fn CallMsgFilterW(
- lpMsg: LPMSG,
- nCode: c_int,
- ) -> BOOL;
- pub fn OpenClipboard(
- hWnd: HWND,
- ) -> BOOL;
- pub fn CloseClipboard() -> BOOL;
- pub fn GetClipboardSequenceNumber() -> DWORD;
- pub fn GetClipboardOwner() -> HWND;
- pub fn SetClipboardViewer(
- hWndNewViewer: HWND,
- ) -> HWND;
- pub fn GetClipboardViewer() -> HWND;
- pub fn ChangeClipboardChain(
- hwndRemove: HWND,
- hwndNewNext: HWND,
- ) -> BOOL;
- pub fn SetClipboardData(
- uFormat: UINT,
- hMem: HANDLE,
- ) -> HANDLE;
- pub fn GetClipboardData(
- uFormat: UINT,
- ) -> HANDLE;
- pub fn RegisterClipboardFormatA(
- lpszFormat: LPCSTR,
- ) -> UINT;
- pub fn RegisterClipboardFormatW(
- lpszFormat: LPCWSTR,
- ) -> UINT;
- pub fn CountClipboardFormats() -> c_int;
- pub fn EnumClipboardFormats(
- format: UINT,
- ) -> UINT;
- pub fn GetClipboardFormatNameA(
- format: UINT,
- lpszFormatName: LPSTR,
- cchMaxCount: c_int,
- ) -> c_int;
- pub fn GetClipboardFormatNameW(
- format: UINT,
- lpszFormatName: LPWSTR,
- cchMaxCount: c_int,
- ) -> c_int;
- pub fn EmptyClipboard() -> BOOL;
- pub fn IsClipboardFormatAvailable(
- format: UINT,
- ) -> BOOL;
- pub fn GetPriorityClipboardFormat(
- paFormatPriorityList: *mut UINT,
- cFormats: c_int,
- ) -> c_int;
- pub fn GetOpenClipboardWindow() -> HWND;
- pub fn AddClipboardFormatListener(
- hWnd: HWND,
- ) -> BOOL;
- pub fn RemoveClipboardFormatListener(
- hWnd: HWND,
- ) -> BOOL;
- pub fn GetUpdatedClipboardFormats(
- lpuiFormats: PUINT,
- cFormats: UINT,
- pcFormatsOUT: PUINT,
- ) -> BOOL;
- pub fn CharToOemA(
- pSrc: LPCSTR,
- pDst: LPSTR,
- ) -> BOOL;
- pub fn CharToOemW(
- pSrc: LPCWSTR,
- pDst: LPSTR,
- ) -> BOOL;
- pub fn OemToCharA(
- pSrc: LPCSTR,
- pDst: LPSTR,
- ) -> BOOL;
- pub fn OemToCharW(
- pSrc: LPCSTR,
- pDst: LPWSTR,
- ) -> BOOL;
- pub fn CharToOemBuffA(
- lpszSrc: LPCSTR,
- lpszDst: LPSTR,
- cchDstLength: DWORD,
- ) -> BOOL;
- pub fn CharToOemBuffW(
- lpszSrc: LPCWSTR,
- lpszDst: LPSTR,
- cchDstLength: DWORD,
- ) -> BOOL;
- pub fn OemToCharBuffA(
- lpszSrc: LPCSTR,
- lpszDst: LPSTR,
- cchDstLength: DWORD,
- ) -> BOOL;
- pub fn OemToCharBuffW(
- lpszSrc: LPCSTR,
- lpszDst: LPWSTR,
- cchDstLength: DWORD,
- ) -> BOOL;
- pub fn CharUpperA(
- lpsz: LPSTR,
- ) -> LPSTR;
- pub fn CharUpperW(
- lpsz: LPWSTR,
- ) -> LPWSTR;
- pub fn CharUpperBuffA(
- lpsz: LPSTR,
- cchLength: DWORD,
- ) -> DWORD;
- pub fn CharUpperBuffW(
- lpsz: LPWSTR,
- cchLength: DWORD,
- ) -> DWORD;
- pub fn CharLowerA(
- lpsz: LPSTR,
- ) -> LPSTR;
- pub fn CharLowerW(
- lpsz: LPWSTR,
- ) -> LPWSTR;
- pub fn CharLowerBuffA(
- lpsz: LPSTR,
- cchLength: DWORD,
- ) -> DWORD;
- pub fn CharLowerBuffW(
- lpsz: LPWSTR,
- cchLength: DWORD,
- ) -> DWORD;
- pub fn CharNextA(
- lpsz: LPCSTR,
- ) -> LPSTR;
- pub fn CharNextW(
- lpsz: LPCWSTR,
- ) -> LPWSTR;
- pub fn CharPrevA(
- lpszStart: LPCSTR,
- lpszCurrent: LPCSTR,
- ) -> LPSTR;
- pub fn CharPrevW(
- lpszStart: LPCWSTR,
- lpszCurrent: LPCWSTR,
- ) -> LPWSTR;
- pub fn CharNextExA(
- codePage: WORD,
- lpCurrentChar: LPSTR,
- dwFlags: DWORD,
- ) -> LPSTR;
- pub fn CharPrevExA(
- codePage: WORD,
- lpStart: LPCSTR,
- lpCurrentChar: LPCSTR,
- dwFlags: DWORD,
- ) -> LPSTR;
-}
-// AnsiToOem
-// OemToAnsi
-// AnsiToOemBuff
-// OemToAnsiBuff
-// AnsiUpper
-// AnsiUpperBuff
-// AnsiLower
-// AnsiLowerBuff
-// AnsiNext
-// AnsiPrev
-extern "system" {
- pub fn IsCharAlphaA(
- ch: CHAR,
- ) -> BOOL;
- pub fn IsCharAlphaW(
- ch: WCHAR,
- ) -> BOOL;
- pub fn IsCharAlphaNumericA(
- ch: CHAR,
- ) -> BOOL;
- pub fn IsCharAlphaNumericW(
- ch: WCHAR,
- ) -> BOOL;
- pub fn IsCharUpperA(
- ch: CHAR,
- ) -> BOOL;
- pub fn IsCharUpperW(
- ch: WCHAR,
- ) -> BOOL;
- pub fn IsCharLowerA(
- ch: CHAR,
- ) -> BOOL;
- pub fn IsCharLowerW(
- ch: WCHAR,
- ) -> BOOL;
- pub fn SetFocus(
- hWnd: HWND,
- ) -> HWND;
- pub fn GetActiveWindow() -> HWND;
- pub fn GetFocus() -> HWND;
- pub fn GetKBCodePage() -> UINT;
- pub fn GetKeyState(
- nVirtKey: c_int,
- ) -> SHORT;
- pub fn GetAsyncKeyState(
- vKey: c_int,
- ) -> SHORT;
- pub fn GetKeyboardState(
- lpKeyState: PBYTE,
- ) -> BOOL;
- pub fn SetKeyboardState(
- lpKeyState: LPBYTE,
- ) -> BOOL;
- pub fn GetKeyNameTextA(
- lparam: LONG,
- lpString: LPSTR,
- cchSize: c_int,
- ) -> c_int;
- pub fn GetKeyNameTextW(
- lParam: LONG,
- lpString: LPWSTR,
- cchSize: c_int,
- ) -> c_int;
- pub fn GetKeyboardType(
- nTypeFlag: c_int,
- ) -> c_int;
- pub fn ToAscii(
- uVirtKey: UINT,
- uScanCode: UINT,
- lpKeyState: *const BYTE,
- lpChar: LPWORD,
- uFlags: UINT,
- ) -> c_int;
- pub fn ToAsciiEx(
- uVirtKey: UINT,
- uScanCode: UINT,
- lpKeyState: *const BYTE,
- lpChar: LPWORD,
- uFlags: UINT,
- dwhkl: HKL,
- ) -> c_int;
- pub fn ToUnicode(
- wVirtKey: UINT,
- wScanCode: UINT,
- lpKeyState: *const BYTE,
- lwszBuff: LPWSTR,
- cchBuff: c_int,
- wFlags: UINT,
- ) -> c_int;
- pub fn OemKeyScan(
- wOemChar: WORD,
- ) -> DWORD;
- pub fn VkKeyScanA(
- ch: CHAR,
- ) -> SHORT;
- pub fn VkKeyScanW(
- ch: WCHAR,
- ) -> SHORT;
- pub fn VkKeyScanExA(
- ch: CHAR,
- dwhkl: HKL,
- ) -> SHORT;
- pub fn VkKeyScanExW(
- ch: WCHAR,
- dwhkl: HKL,
- ) -> SHORT;
-}
-pub const KEYEVENTF_EXTENDEDKEY: DWORD = 0x0001;
-pub const KEYEVENTF_KEYUP: DWORD = 0x0002;
-pub const KEYEVENTF_UNICODE: DWORD = 0x0004;
-pub const KEYEVENTF_SCANCODE: DWORD = 0x0008;
-extern "system" {
- pub fn keybd_event(
- bVk: BYTE,
- bScan: BYTE,
- dwFlags: DWORD,
- dwExtraInfo: ULONG_PTR,
- );
-}
-pub const MOUSEEVENTF_MOVE: DWORD = 0x0001;
-pub const MOUSEEVENTF_LEFTDOWN: DWORD = 0x0002;
-pub const MOUSEEVENTF_LEFTUP: DWORD = 0x0004;
-pub const MOUSEEVENTF_RIGHTDOWN: DWORD = 0x0008;
-pub const MOUSEEVENTF_RIGHTUP: DWORD = 0x0010;
-pub const MOUSEEVENTF_MIDDLEDOWN: DWORD = 0x0020;
-pub const MOUSEEVENTF_MIDDLEUP: DWORD = 0x0040;
-pub const MOUSEEVENTF_XDOWN: DWORD = 0x0080;
-pub const MOUSEEVENTF_XUP: DWORD = 0x0100;
-pub const MOUSEEVENTF_WHEEL: DWORD = 0x0800;
-pub const MOUSEEVENTF_HWHEEL: DWORD = 0x01000;
-pub const MOUSEEVENTF_MOVE_NOCOALESCE: DWORD = 0x2000;
-pub const MOUSEEVENTF_VIRTUALDESK: DWORD = 0x4000;
-pub const MOUSEEVENTF_ABSOLUTE: DWORD = 0x8000;
-extern "system" {
- pub fn mouse_event(
- dwFlags: DWORD,
- dx: DWORD,
- dy: DWORD,
- dwData: DWORD,
- dwExtraInfo: ULONG_PTR,
- );
-}
-STRUCT!{struct MOUSEINPUT {
- dx: LONG,
- dy: LONG,
- mouseData: DWORD,
- dwFlags: DWORD,
- time: DWORD,
- dwExtraInfo: ULONG_PTR,
-}}
-pub type PMOUSEINPUT = *mut MOUSEINPUT;
-pub type LPMOUSEINPUT = *mut MOUSEINPUT;
-STRUCT!{struct KEYBDINPUT {
- wVk: WORD,
- wScan: WORD,
- dwFlags: DWORD,
- time: DWORD,
- dwExtraInfo: ULONG_PTR,
-}}
-pub type PKEYBDINPUT = *mut KEYBDINPUT;
-pub type LPKEYBDINPUT = *mut KEYBDINPUT;
-STRUCT!{struct HARDWAREINPUT {
- uMsg: DWORD,
- wParamL: WORD,
- wParamH: WORD,
-}}
-pub type PHARDWAREINPUT = *mut HARDWAREINPUT;
-pub type LPHARDWAREINPUT= *mut HARDWAREINPUT;
-pub const INPUT_MOUSE: DWORD = 0;
-pub const INPUT_KEYBOARD: DWORD = 1;
-pub const INPUT_HARDWARE: DWORD = 2;
-UNION!{union INPUT_u {
- [u32; 6] [u64; 4],
- mi mi_mut: MOUSEINPUT,
- ki ki_mut: KEYBDINPUT,
- hi hi_mut: HARDWAREINPUT,
-}}
-STRUCT!{struct INPUT {
- type_: DWORD,
- u: INPUT_u,
-}}
-pub type PINPUT = *mut INPUT;
-pub type LPINPUT = *mut INPUT;
-extern "system" {
- pub fn SendInput(
- cInputs: UINT,
- pInputs: LPINPUT,
- cbSize: c_int,
- ) -> UINT;
-}
-DECLARE_HANDLE!{HTOUCHINPUT, HTOUCHINPUT__}
-STRUCT!{struct TOUCHINPUT {
- x: LONG,
- y: LONG,
- hSource: HANDLE,
- dwID: DWORD,
- dwFlags: DWORD,
- dwMask: DWORD,
- dwTime: DWORD,
- dwExtraInfo: ULONG_PTR,
- cxContact: DWORD,
- cyContact: DWORD,
-}}
-pub type PTOUCHINPUT = *mut TOUCHINPUT;
-pub type PCTOUCHINPUT = *const TOUCHINPUT;
-// TOUCH_COORD_TO_PIXEL
-pub const TOUCHEVENTF_MOVE: DWORD = 0x0001;
-pub const TOUCHEVENTF_DOWN: DWORD = 0x0002;
-pub const TOUCHEVENTF_UP: DWORD = 0x0004;
-pub const TOUCHEVENTF_INRANGE: DWORD = 0x0008;
-pub const TOUCHEVENTF_PRIMARY: DWORD = 0x0010;
-pub const TOUCHEVENTF_NOCOALESCE: DWORD = 0x0020;
-pub const TOUCHEVENTF_PEN: DWORD = 0x0040;
-pub const TOUCHEVENTF_PALM: DWORD = 0x0080;
-pub const TOUCHINPUTMASKF_TIMEFROMSYSTEM: DWORD = 0x0001;
-pub const TOUCHINPUTMASKF_EXTRAINFO: DWORD = 0x0002;
-pub const TOUCHINPUTMASKF_CONTACTAREA: DWORD = 0x0004;
-extern "system" {
- pub fn GetTouchInputInfo(
- hTouchInput: HTOUCHINPUT,
- cInputs: c_uint,
- pInputs: PTOUCHINPUT,
- cbSize: c_int,
- ) -> BOOL;
- pub fn CloseTouchInputHandle(
- hTouchInput: HTOUCHINPUT,
- ) -> BOOL;
-}
-pub const TWF_FINETOUCH: DWORD = 0x00000001;
-pub const TWF_WANTPALM: DWORD = 0x00000002;
-extern "system" {
- pub fn RegisterTouchWindow(
- hWnd: HWND,
- flags: ULONG,
- ) -> BOOL;
- pub fn UnregisterTouchWindow(
- hwnd: HWND,
- ) -> BOOL;
- pub fn IsTouchWindow(
- hwnd: HWND,
- pulFlags: PULONG,
- ) -> BOOL;
-}
-ENUM!{enum POINTER_INPUT_TYPE {
- PT_POINTER = 0x00000001,
- PT_TOUCH = 0x00000002,
- PT_PEN = 0x00000003,
- PT_MOUSE = 0x00000004,
- PT_TOUCHPAD = 0x00000005,
-}}
-ENUM!{enum POINTER_FLAGS {
- POINTER_FLAG_NONE = 0x00000000,
- POINTER_FLAG_NEW = 0x00000001,
- POINTER_FLAG_INRANGE = 0x00000002,
- POINTER_FLAG_INCONTACT = 0x00000004,
- POINTER_FLAG_FIRSTBUTTON = 0x00000010,
- POINTER_FLAG_SECONDBUTTON = 0x00000020,
- POINTER_FLAG_THIRDBUTTON = 0x00000040,
- POINTER_FLAG_FOURTHBUTTON = 0x00000080,
- POINTER_FLAG_FIFTHBUTTON = 0x00000100,
- POINTER_FLAG_PRIMARY = 0x00002000,
- POINTER_FLAG_CONFIDENCE = 0x00004000,
- POINTER_FLAG_CANCELED = 0x00008000,
- POINTER_FLAG_DOWN = 0x00010000,
- POINTER_FLAG_UPDATE = 0x00020000,
- POINTER_FLAG_UP = 0x00040000,
- POINTER_FLAG_WHEEL = 0x00080000,
- POINTER_FLAG_HWHEEL = 0x00100000,
- POINTER_FLAG_CAPTURECHANGED = 0x00200000,
- POINTER_FLAG_HASTRANSFORM = 0x00400000,
-}}
-pub const POINTER_MOD_SHIFT: DWORD = 0x0004;
-pub const POINTER_MOD_CTRL: DWORD = 0x0008;
-ENUM!{enum POINTER_BUTTON_CHANGE_TYPE {
- POINTER_CHANGE_NONE,
- POINTER_CHANGE_FIRSTBUTTON_DOWN,
- POINTER_CHANGE_FIRSTBUTTON_UP,
- POINTER_CHANGE_SECONDBUTTON_DOWN,
- POINTER_CHANGE_SECONDBUTTON_UP,
- POINTER_CHANGE_THIRDBUTTON_DOWN,
- POINTER_CHANGE_THIRDBUTTON_UP,
- POINTER_CHANGE_FOURTHBUTTON_DOWN,
- POINTER_CHANGE_FOURTHBUTTON_UP,
- POINTER_CHANGE_FIFTHBUTTON_DOWN,
- POINTER_CHANGE_FIFTHBUTTON_UP,
-}}
-STRUCT!{struct POINTER_INFO {
- pointerType: POINTER_INPUT_TYPE,
- pointerId: UINT32,
- frameId: UINT32,
- pointerFlags: POINTER_FLAGS,
- sourceDevice: HANDLE,
- hwndTarget: HWND,
- ptPixelLocation: POINT,
- ptHimetricLocation: POINT,
- ptPixelLocationRaw: POINT,
- ptHimetricLocationRaw: POINT,
- dwTime: DWORD,
- historyCount: UINT32,
- InputData: INT32,
- dwKeyStates: DWORD,
- PerformanceCount: UINT64,
- ButtonChangeType: POINTER_BUTTON_CHANGE_TYPE,
-}}
-ENUM!{enum TOUCH_FLAGS {
- TOUCH_FLAG_NONE = 0x00000000,
-}}
-ENUM!{enum TOUCH_MASK {
- TOUCH_MASK_NONE = 0x00000000,
- TOUCH_MASK_CONTACTAREA = 0x00000001,
- TOUCH_MASK_ORIENTATION = 0x00000002,
- TOUCH_MASK_PRESSURE = 0x00000004,
-}}
-STRUCT!{struct POINTER_TOUCH_INFO {
- pointerInfo: POINTER_INFO,
- touchFlags: TOUCH_FLAGS,
- touchMask: TOUCH_MASK,
- rcContact: RECT,
- rcContactRaw: RECT,
- orientation: UINT32,
- pressure: UINT32,
-}}
-ENUM!{enum PEN_FLAGS {
- PEN_FLAG_NONE = 0x00000000,
- PEN_FLAG_BARREL = 0x00000001,
- PEN_FLAG_INVERTED = 0x00000002,
- PEN_FLAG_ERASER = 0x00000004,
-}}
-ENUM!{enum PEN_MASK {
- PEN_MASK_NONE = 0x00000000,
- PEN_MASK_PRESSURE = 0x00000001,
- PEN_MASK_ROTATION = 0x00000002,
- PEN_MASK_TILT_X = 0x00000004,
- PEN_MASK_TILT_Y = 0x00000008,
-}}
-STRUCT!{struct POINTER_PEN_INFO {
- pointerInfo: POINTER_INFO,
- penFlags: PEN_FLAGS,
- penMask: PEN_MASK,
- pressure: UINT32,
- rotation: UINT32,
- tiltX: INT32,
- tiltY: INT32,
-}}
-pub const POINTER_MESSAGE_FLAG_NEW: DWORD = 0x00000001;
-pub const POINTER_MESSAGE_FLAG_INRANGE: DWORD = 0x00000002;
-pub const POINTER_MESSAGE_FLAG_INCONTACT: DWORD = 0x00000004;
-pub const POINTER_MESSAGE_FLAG_FIRSTBUTTON: DWORD = 0x00000010;
-pub const POINTER_MESSAGE_FLAG_SECONDBUTTON: DWORD = 0x00000020;
-pub const POINTER_MESSAGE_FLAG_THIRDBUTTON: DWORD = 0x00000040;
-pub const POINTER_MESSAGE_FLAG_FOURTHBUTTON: DWORD = 0x00000080;
-pub const POINTER_MESSAGE_FLAG_FIFTHBUTTON: DWORD = 0x00000100;
-pub const POINTER_MESSAGE_FLAG_PRIMARY: DWORD = 0x00002000;
-pub const POINTER_MESSAGE_FLAG_CONFIDENCE: DWORD = 0x00004000;
-pub const POINTER_MESSAGE_FLAG_CANCELED: DWORD = 0x00008000;
-pub const PA_ACTIVATE: UINT = MA_ACTIVATE;
-pub const PA_NOACTIVATE: UINT = MA_NOACTIVATE;
-pub const MAX_TOUCH_COUNT: UINT32 = 256;
-pub const TOUCH_FEEDBACK_DEFAULT: DWORD = 0x1;
-pub const TOUCH_FEEDBACK_INDIRECT: DWORD = 0x2;
-pub const TOUCH_FEEDBACK_NONE: DWORD = 0x3;
-ENUM!{enum POINTER_FEEDBACK_MODE {
- POINTER_FEEDBACK_DEFAULT = 1,
- POINTER_FEEDBACK_INDIRECT = 2,
- POINTER_FEEDBACK_NONE = 3,
-}}
-extern "system" {
- pub fn InitializeTouchInjection(
- maxCount: UINT32,
- dwMode: DWORD,
- ) -> BOOL;
- pub fn InjectTouchInput(
- count: UINT32,
- contacts: *const POINTER_TOUCH_INFO,
- ) -> BOOL;
-}
-STRUCT!{struct USAGE_PROPERTIES {
- level: USHORT,
- page: USHORT,
- usage: USHORT,
- logicalMinimum: INT32,
- logicalMaximum: INT32,
- unit: USHORT,
- exponent: USHORT,
- count: BYTE,
- physicalMinimum: INT32,
- physicalMaximum: INT32,
-}}
-pub type PUSAGE_PROPERTIES = *mut USAGE_PROPERTIES;
-UNION!{union POINTER_TYPE_INFO_u {
- [u64; 17] [u64; 18],
- touchInfo touchInfo_mut: POINTER_TOUCH_INFO,
- penInfo penInfo_mut: POINTER_PEN_INFO,
-}}
-STRUCT!{struct POINTER_TYPE_INFO {
- type_: POINTER_INPUT_TYPE,
- u: POINTER_TYPE_INFO_u,
-}}
-pub type PPOINTER_TYPE_INFO = *mut POINTER_TYPE_INFO;
-STRUCT!{struct INPUT_INJECTION_VALUE {
- page: USHORT,
- usage: USHORT,
- value: INT32,
- index: USHORT,
-}}
-pub type PINPUT_INJECTION_VALUE = *mut INPUT_INJECTION_VALUE;
-extern "system" {
- pub fn GetPointerType(
- pointerId: UINT32,
- pointerType: *mut POINTER_INPUT_TYPE,
- ) -> BOOL;
- pub fn GetPointerCursorId(
- pointerId: UINT32,
- cursorId: *mut UINT32,
- ) -> BOOL;
- pub fn GetPointerInfo(
- pointerId: UINT32,
- pointerInfo: *mut POINTER_INFO,
- ) -> BOOL;
- pub fn GetPointerInfoHistory(
- pointerId: UINT32,
- entriesCount: *mut UINT32,
- pointerInfo: *mut POINTER_INFO,
- ) -> BOOL;
- pub fn GetPointerFrameInfo(
- pointerId: UINT32,
- pointerCount: *mut UINT32,
- pointerInfo: *mut POINTER_INFO,
- ) -> BOOL;
- pub fn GetPointerFrameInfoHistory(
- pointerId: UINT32,
- entriesCount: *mut UINT32,
- pointerCount: *mut UINT32,
- pointerInfo: *mut POINTER_INFO,
- ) -> BOOL;
- pub fn GetPointerTouchInfo(
- pointerId: UINT32,
- touchInfo: *mut POINTER_TOUCH_INFO,
- ) -> BOOL;
- pub fn GetPointerTouchInfoHistory(
- pointerId: UINT32,
- entriesCount: *mut UINT32,
- touchInfo: *mut POINTER_TOUCH_INFO,
- ) -> BOOL;
- pub fn GetPointerFrameTouchInfo(
- pointerId: UINT32,
- pointerCount: *mut UINT32,
- touchInfo: *mut POINTER_TOUCH_INFO,
- ) -> BOOL;
- pub fn GetPointerFrameTouchInfoHistory(
- pointerId: UINT32,
- entriesCount: *mut UINT32,
- pointerCount: *mut UINT32,
- touchInfo: *mut POINTER_TOUCH_INFO,
- ) -> BOOL;
- pub fn GetPointerPenInfo(
- pointerId: UINT32,
- penInfo: *mut POINTER_PEN_INFO,
- ) -> BOOL;
- pub fn GetPointerPenInfoHistory(
- pointerId: UINT32,
- entriesCount: *mut UINT32,
- penInfo: *mut POINTER_PEN_INFO,
- ) -> BOOL;
- pub fn GetPointerFramePenInfo(
- pointerId: UINT32,
- pointerCount: *mut UINT32,
- penInfo: *mut POINTER_PEN_INFO,
- ) -> BOOL;
- pub fn GetPointerFramePenInfoHistory(
- pointerId: UINT32,
- entriesCount: *mut UINT32,
- pointerCount: *mut UINT32,
- penInfo: *mut POINTER_PEN_INFO,
- ) -> BOOL;
- pub fn SkipPointerFrameMessages(
- pointerId: UINT32,
- ) -> BOOL;
- pub fn RegisterPointerInputTarget(
- hwnd: HWND,
- pointerType: POINTER_INPUT_TYPE,
- ) -> BOOL;
- pub fn UnregisterPointerInputTarget(
- hwnd: HWND,
- pointerType: POINTER_INPUT_TYPE,
- ) -> BOOL;
- pub fn RegisterPointerInputTargetEx(
- hwnd: HWND,
- pointerType: POINTER_INPUT_TYPE,
- fObserve: BOOL,
- ) -> BOOL;
- pub fn UnregisterPointerInputTargetEx(
- hwnd: HWND,
- pointerType: POINTER_INPUT_TYPE,
- ) -> BOOL;
-}
-DECLARE_HANDLE!{HSYNTHETICPOINTERDEVICE, HSYNTHETICPOINTERDEVICE__}
-extern "system" {
- pub fn CreateSyntheticPointerDevice(
- pointerType: POINTER_INPUT_TYPE,
- maxCount: ULONG,
- mode: POINTER_FEEDBACK_MODE,
- ) -> HSYNTHETICPOINTERDEVICE;
- pub fn InjectSyntheticPointerInput(
- device: HSYNTHETICPOINTERDEVICE,
- pointerInfo: *const POINTER_TYPE_INFO,
- count: UINT32,
- ) -> BOOL;
- pub fn DestroySyntheticPointerDevice(
- device: HSYNTHETICPOINTERDEVICE,
- );
-}
-extern "system" {
- pub fn EnableMouseInPointer(
- fEnable: BOOL,
- ) -> BOOL;
- pub fn IsMouseInPointerEnabled() -> BOOL;
-}
-pub const TOUCH_HIT_TESTING_DEFAULT: ULONG = 0x0;
-pub const TOUCH_HIT_TESTING_CLIENT: ULONG = 0x1;
-pub const TOUCH_HIT_TESTING_NONE: ULONG = 0x2;
-extern "system" {
- pub fn RegisterTouchHitTestingWindow(
- hwnd: HWND,
- value: ULONG,
- ) -> BOOL;
-}
-STRUCT!{struct TOUCH_HIT_TESTING_PROXIMITY_EVALUATION {
- score: UINT16,
- adjustedPoint: POINT,
-}}
-pub type PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION = *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION;
-STRUCT!{struct TOUCH_HIT_TESTING_INPUT {
- pointerId: UINT32,
- point: POINT,
- boundingBox: RECT,
- nonOccludedBoundingBox: RECT,
- orientation: UINT32,
-}}
-pub type PTOUCH_HIT_TESTING_INPUT = *mut TOUCH_HIT_TESTING_INPUT;
-pub const TOUCH_HIT_TESTING_PROXIMITY_CLOSEST: UINT16 = 0x0;
-pub const TOUCH_HIT_TESTING_PROXIMITY_FARTHEST: UINT16 = 0xFFF;
-extern "system" {
- pub fn EvaluateProximityToRect(
- controlBoundingBox: *const RECT,
- pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT,
- pProximityEval: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION,
- ) -> BOOL;
- pub fn EvaluateProximityToPolygon(
- numVertices: UINT32,
- controlPolygon: *const POINT,
- pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT,
- pProximityEval: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION,
- ) -> BOOL;
- pub fn PackTouchHitTestingProximityEvaluation(
- pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT,
- pProximityEval: *const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION,
- ) -> LRESULT;
-}
-ENUM!{enum FEEDBACK_TYPE {
- FEEDBACK_TOUCH_CONTACTVISUALIZATION = 1,
- FEEDBACK_PEN_BARRELVISUALIZATION = 2,
- FEEDBACK_PEN_TAP = 3,
- FEEDBACK_PEN_DOUBLETAP = 4,
- FEEDBACK_PEN_PRESSANDHOLD = 5,
- FEEDBACK_PEN_RIGHTTAP = 6,
- FEEDBACK_TOUCH_TAP = 7,
- FEEDBACK_TOUCH_DOUBLETAP = 8,
- FEEDBACK_TOUCH_PRESSANDHOLD = 9,
- FEEDBACK_TOUCH_RIGHTTAP = 10,
- FEEDBACK_GESTURE_PRESSANDTAP = 11,
- FEEDBACK_MAX = 0xFFFFFFFF,
-}}
-pub const GWFS_INCLUDE_ANCESTORS: DWORD = 0x00000001;
-extern "system" {
- pub fn GetWindowFeedbackSetting(
- hwnd: HWND,
- feedback: FEEDBACK_TYPE,
- dwFlags: DWORD,
- pSize: *mut UINT32,
- config: *mut VOID,
- ) -> BOOL;
- pub fn SetWindowFeedbackSetting(
- hwnd: HWND,
- feedback: FEEDBACK_TYPE,
- dwFlags: DWORD,
- size: UINT32,
- configuration: *const VOID,
- ) -> BOOL;
-}
-STRUCT!{struct INPUT_TRANSFORM {
- m: [[f32; 4]; 4],
-}}
-extern "system" {
- pub fn GetPointerInputTransform(
- pointerId: UINT32,
- historyCount: UINT32,
- inputTransform: *mut INPUT_TRANSFORM,
- ) -> BOOL;
-}
-STRUCT!{struct LASTINPUTINFO {
- cbSize: UINT,
- dwTime: DWORD,
-}}
-pub type PLASTINPUTINFO = *mut LASTINPUTINFO;
-extern "system" {
- pub fn GetLastInputInfo(
- plii: PLASTINPUTINFO,
- ) -> BOOL;
- pub fn MapVirtualKeyA(
- nCode: UINT,
- uMapType: UINT,
- ) -> UINT;
- pub fn MapVirtualKeyW(
- nCode: UINT,
- uMapType: UINT,
- ) -> UINT;
- pub fn MapVirtualKeyExA(
- nCode: UINT,
- uMapType: UINT,
- dwhkl: HKL,
- ) -> UINT;
- pub fn MapVirtualKeyExW(
- nCode: UINT,
- uMapType: UINT,
- dwhkl: HKL,
- ) -> UINT;
-}
-pub const MAPVK_VK_TO_VSC: UINT = 0;
-pub const MAPVK_VSC_TO_VK: UINT = 1;
-pub const MAPVK_VK_TO_CHAR: UINT = 2;
-pub const MAPVK_VSC_TO_VK_EX: UINT = 3;
-pub const MAPVK_VK_TO_VSC_EX: UINT = 4;
-extern "system" {
- pub fn GetInputState() -> BOOL;
- pub fn GetQueueStatus(
- flags: UINT,
- ) -> DWORD;
- pub fn GetCapture() -> HWND;
- pub fn SetCapture(
- hWnd: HWND,
- ) -> HWND;
- pub fn ReleaseCapture() -> BOOL;
- pub fn MsgWaitForMultipleObjects(
- nCount: DWORD,
- pHandles: *const HANDLE,
- fWaitAll: BOOL,
- dwMilliseconds: DWORD,
- dwWakeMask: DWORD,
- ) -> DWORD;
- pub fn MsgWaitForMultipleObjectsEx(
- nCount: DWORD,
- pHandles: *const HANDLE,
- dwMilliseconds: DWORD,
- dwWakeMask: DWORD,
- dwFlags: DWORD,
- ) -> DWORD;
-}
-pub const MWMO_WAITALL: UINT = 0x0001;
-pub const MWMO_ALERTABLE: UINT = 0x0002;
-pub const MWMO_INPUTAVAILABLE: UINT = 0x0004;
-pub const QS_KEY: UINT = 0x0001;
-pub const QS_MOUSEMOVE: UINT = 0x0002;
-pub const QS_MOUSEBUTTON: UINT = 0x0004;
-pub const QS_POSTMESSAGE: UINT = 0x0008;
-pub const QS_TIMER: UINT = 0x0010;
-pub const QS_PAINT: UINT = 0x0020;
-pub const QS_SENDMESSAGE: UINT = 0x0040;
-pub const QS_HOTKEY: UINT = 0x0080;
-pub const QS_ALLPOSTMESSAGE: UINT = 0x0100;
-pub const QS_RAWINPUT: UINT = 0x0400;
-pub const QS_TOUCH: UINT = 0x0800;
-pub const QS_POINTER: UINT = 0x1000;
-pub const QS_MOUSE: UINT = QS_MOUSEMOVE | QS_MOUSEBUTTON;
-pub const QS_INPUT: UINT = QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER;
-pub const QS_ALLEVENTS: UINT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY;
-pub const QS_ALLINPUT: UINT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY
- | QS_SENDMESSAGE;
-pub const USER_TIMER_MAXIMUM: UINT = 0x7FFFFFFF;
-pub const USER_TIMER_MINIMUM: UINT = 0x0000000A;
-extern "system" {
- pub fn SetTimer(
- hWnd: HWND,
- nIDEvent: UINT_PTR,
- uElapse: UINT,
- lpTimerFunc: TIMERPROC,
- ) -> UINT_PTR;
-}
-pub const TIMERV_DEFAULT_COALESCING: ULONG = 0;
-pub const TIMERV_NO_COALESCING: ULONG = 0xFFFFFFFF;
-pub const TIMERV_COALESCING_MIN: ULONG = 1;
-pub const TIMERV_COALESCING_MAX: ULONG = 0x7FFFFFF5;
-extern "system" {
- pub fn SetCoalescableTimer(
- hWnd: HWND,
- nIDEvent: UINT_PTR,
- uElapse: UINT,
- lpTimerFunc: TIMERPROC,
- uToleranceDelay: ULONG,
- ) -> UINT_PTR;
- pub fn KillTimer(
- hWnd: HWND,
- uIDEvent: UINT_PTR,
- ) -> BOOL;
- pub fn IsWindowUnicode(
- hWnd: HWND,
- ) -> BOOL;
- pub fn EnableWindow(
- hWnd: HWND,
- bEnable: BOOL,
- ) -> BOOL;
- pub fn IsWindowEnabled(
- hWnd: HWND,
- ) -> BOOL;
- pub fn LoadAcceleratorsA(
- hInstance: HINSTANCE,
- lpTableName: LPCSTR,
- ) -> HACCEL;
- pub fn LoadAcceleratorsW(
- hInstance: HINSTANCE,
- lpTableName: LPCWSTR,
- ) -> HACCEL;
- pub fn CreateAcceleratorTableA(
- paccel: LPACCEL,
- cAccel: c_int,
- ) -> HACCEL;
- pub fn CreateAcceleratorTableW(
- paccel: LPACCEL,
- cAccel: c_int,
- ) -> HACCEL;
- pub fn DestroyAcceleratorTable(
- hAccel: HACCEL,
- ) -> BOOL;
- pub fn CopyAcceleratorTableA(
- hAccelSrc: HACCEL,
- lpAccelDst: LPACCEL,
- cAccelEntries: c_int,
- ) -> c_int;
- pub fn CopyAcceleratorTableW(
- hAccelSrc: HACCEL,
- lpAccelDst: LPACCEL,
- cAccelEntries: c_int,
- ) -> c_int;
- pub fn TranslateAcceleratorA(
- hWnd: HWND,
- hAccTable: HACCEL,
- lpMsg: LPMSG,
- ) -> c_int;
- pub fn TranslateAcceleratorW(
- hWnd: HWND,
- hAccTable: HACCEL,
- lpMsg: LPMSG,
- ) -> c_int;
-}
-pub const SM_CXSCREEN: c_int = 0;
-pub const SM_CYSCREEN: c_int = 1;
-pub const SM_CXVSCROLL: c_int = 2;
-pub const SM_CYHSCROLL: c_int = 3;
-pub const SM_CYCAPTION: c_int = 4;
-pub const SM_CXBORDER: c_int = 5;
-pub const SM_CYBORDER: c_int = 6;
-pub const SM_CXDLGFRAME: c_int = 7;
-pub const SM_CYDLGFRAME: c_int = 8;
-pub const SM_CYVTHUMB: c_int = 9;
-pub const SM_CXHTHUMB: c_int = 10;
-pub const SM_CXICON: c_int = 11;
-pub const SM_CYICON: c_int = 12;
-pub const SM_CXCURSOR: c_int = 13;
-pub const SM_CYCURSOR: c_int = 14;
-pub const SM_CYMENU: c_int = 15;
-pub const SM_CXFULLSCREEN: c_int = 16;
-pub const SM_CYFULLSCREEN: c_int = 17;
-pub const SM_CYKANJIWINDOW: c_int = 18;
-pub const SM_MOUSEPRESENT: c_int = 19;
-pub const SM_CYVSCROLL: c_int = 20;
-pub const SM_CXHSCROLL: c_int = 21;
-pub const SM_DEBUG: c_int = 22;
-pub const SM_SWAPBUTTON: c_int = 23;
-pub const SM_RESERVED1: c_int = 24;
-pub const SM_RESERVED2: c_int = 25;
-pub const SM_RESERVED3: c_int = 26;
-pub const SM_RESERVED4: c_int = 27;
-pub const SM_CXMIN: c_int = 28;
-pub const SM_CYMIN: c_int = 29;
-pub const SM_CXSIZE: c_int = 30;
-pub const SM_CYSIZE: c_int = 31;
-pub const SM_CXFRAME: c_int = 32;
-pub const SM_CYFRAME: c_int = 33;
-pub const SM_CXMINTRACK: c_int = 34;
-pub const SM_CYMINTRACK: c_int = 35;
-pub const SM_CXDOUBLECLK: c_int = 36;
-pub const SM_CYDOUBLECLK: c_int = 37;
-pub const SM_CXICONSPACING: c_int = 38;
-pub const SM_CYICONSPACING: c_int = 39;
-pub const SM_MENUDROPALIGNMENT: c_int = 40;
-pub const SM_PENWINDOWS: c_int = 41;
-pub const SM_DBCSENABLED: c_int = 42;
-pub const SM_CMOUSEBUTTONS: c_int = 43;
-pub const SM_CXFIXEDFRAME: c_int = SM_CXDLGFRAME;
-pub const SM_CYFIXEDFRAME: c_int = SM_CYDLGFRAME;
-pub const SM_CXSIZEFRAME: c_int = SM_CXFRAME;
-pub const SM_CYSIZEFRAME: c_int = SM_CYFRAME;
-pub const SM_SECURE: c_int = 44;
-pub const SM_CXEDGE: c_int = 45;
-pub const SM_CYEDGE: c_int = 46;
-pub const SM_CXMINSPACING: c_int = 47;
-pub const SM_CYMINSPACING: c_int = 48;
-pub const SM_CXSMICON: c_int = 49;
-pub const SM_CYSMICON: c_int = 50;
-pub const SM_CYSMCAPTION: c_int = 51;
-pub const SM_CXSMSIZE: c_int = 52;
-pub const SM_CYSMSIZE: c_int = 53;
-pub const SM_CXMENUSIZE: c_int = 54;
-pub const SM_CYMENUSIZE: c_int = 55;
-pub const SM_ARRANGE: c_int = 56;
-pub const SM_CXMINIMIZED: c_int = 57;
-pub const SM_CYMINIMIZED: c_int = 58;
-pub const SM_CXMAXTRACK: c_int = 59;
-pub const SM_CYMAXTRACK: c_int = 60;
-pub const SM_CXMAXIMIZED: c_int = 61;
-pub const SM_CYMAXIMIZED: c_int = 62;
-pub const SM_NETWORK: c_int = 63;
-pub const SM_CLEANBOOT: c_int = 67;
-pub const SM_CXDRAG: c_int = 68;
-pub const SM_CYDRAG: c_int = 69;
-pub const SM_SHOWSOUNDS: c_int = 70;
-pub const SM_CXMENUCHECK: c_int = 71;
-pub const SM_CYMENUCHECK: c_int = 72;
-pub const SM_SLOWMACHINE: c_int = 73;
-pub const SM_MIDEASTENABLED: c_int = 74;
-pub const SM_MOUSEWHEELPRESENT: c_int = 75;
-pub const SM_XVIRTUALSCREEN: c_int = 76;
-pub const SM_YVIRTUALSCREEN: c_int = 77;
-pub const SM_CXVIRTUALSCREEN: c_int = 78;
-pub const SM_CYVIRTUALSCREEN: c_int = 79;
-pub const SM_CMONITORS: c_int = 80;
-pub const SM_SAMEDISPLAYFORMAT: c_int = 81;
-pub const SM_IMMENABLED: c_int = 82;
-pub const SM_CXFOCUSBORDER: c_int = 83;
-pub const SM_CYFOCUSBORDER: c_int = 84;
-pub const SM_TABLETPC: c_int = 86;
-pub const SM_MEDIACENTER: c_int = 87;
-pub const SM_STARTER: c_int = 88;
-pub const SM_SERVERR2: c_int = 89;
-pub const SM_MOUSEHORIZONTALWHEELPRESENT: c_int = 91;
-pub const SM_CXPADDEDBORDER: c_int = 92;
-pub const SM_DIGITIZER: c_int = 94;
-pub const SM_MAXIMUMTOUCHES: c_int = 95;
-pub const SM_CMETRICS: c_int = 97;
-pub const SM_REMOTESESSION: c_int = 0x1000;
-pub const SM_SHUTTINGDOWN: c_int = 0x2000;
-pub const SM_REMOTECONTROL: c_int = 0x2001;
-pub const SM_CARETBLINKINGENABLED: c_int = 0x2002;
-pub const SM_CONVERTIBLESLATEMODE: c_int = 0x2003;
-pub const SM_SYSTEMDOCKED: c_int = 0x2004;
-extern "system" {
- pub fn GetSystemMetrics(
- nIndex: c_int,
- ) -> c_int;
- pub fn GetSystemMetricsForDpi(
- nIndex: c_int,
- dpi: UINT,
- ) -> c_int;
- pub fn LoadMenuA(
- hInstance: HINSTANCE,
- lpMenuName: LPCSTR,
- ) -> HMENU;
- pub fn LoadMenuW(
- hInstance: HINSTANCE,
- lpMenuName: LPCWSTR,
- ) -> HMENU;
- pub fn LoadMenuIndirectA(
- lpMenuTemplate: *const MENUTEMPLATEA,
- ) -> HMENU;
- pub fn LoadMenuIndirectW(
- lpMenuTemplate: *const MENUTEMPLATEW,
- ) -> HMENU;
- pub fn GetMenu(
- hWnd: HWND,
- ) -> HMENU;
- pub fn SetMenu(
- hWnd: HWND,
- hMenu: HMENU,
- ) -> BOOL;
- pub fn ChangeMenuA(
- hMenu: HMENU,
- cmd: UINT,
- lpszNewItem: LPCSTR,
- cmdInsert: UINT,
- flags: UINT,
- ) -> BOOL;
- pub fn ChangeMenuW(
- hMenu: HMENU,
- cmd: UINT,
- lpszNewItem: LPCWSTR,
- cmdInsert: UINT,
- flags: UINT,
- ) -> BOOL;
- pub fn HiliteMenuItem(
- hWnd: HWND,
- hMenu: HMENU,
- uIDHiliteItem: UINT,
- uHilite: UINT,
- ) -> BOOL;
- pub fn GetMenuStringA(
- hMenu: HMENU,
- uIDItem: UINT,
- lpString: LPSTR,
- cchMax: c_int,
- flags: UINT,
- ) -> c_int;
- pub fn GetMenuStringW(
- hMenu: HMENU,
- uIDItem: UINT,
- lpString: LPWSTR,
- cchMax: c_int,
- flags: UINT,
- ) -> c_int;
- pub fn GetMenuState(
- hMenu: HMENU,
- uId: UINT,
- uFlags: UINT,
- ) -> UINT;
- pub fn DrawMenuBar(
- hwnd: HWND,
- ) -> BOOL;
-}
-pub const PMB_ACTIVE: DWORD = 0x00000001;
-extern "system" {
- pub fn GetSystemMenu(
- hWnd: HWND,
- bRevert: BOOL,
- ) -> HMENU;
- pub fn CreateMenu() -> HMENU;
- pub fn CreatePopupMenu() ->HMENU;
- pub fn DestroyMenu(
- hMenu: HMENU,
- ) -> BOOL;
- pub fn CheckMenuItem(
- hMenu: HMENU,
- uIDCheckItem: UINT,
- uCheck: UINT,
- ) -> DWORD;
- pub fn EnableMenuItem(
- hMenu: HMENU,
- uIDEnableItem: UINT,
- uEnable: UINT,
- ) -> BOOL;
- pub fn GetSubMenu(
- hMenu: HMENU,
- nPos: c_int,
- ) -> HMENU;
- pub fn GetMenuItemID(
- hMenu: HMENU,
- nPos: c_int,
- ) -> UINT;
- pub fn GetMenuItemCount(
- hMenu: HMENU,
- ) -> c_int;
- pub fn InsertMenuA(
- hMenu: HMENU,
- uPosition: UINT,
- uFlags: UINT,
- uIDNewItem: UINT_PTR,
- lpNewItem: LPCSTR,
- ) -> BOOL;
- pub fn InsertMenuW(
- hMenu: HMENU,
- uPosition: UINT,
- uFlags: UINT,
- uIDNewItem: UINT_PTR,
- lpNewItem: LPCWSTR,
- ) -> BOOL;
- pub fn AppendMenuA(
- hMenu: HMENU,
- uFlags: UINT,
- uIDNewItem: UINT_PTR,
- lpNewItem: LPCSTR,
- ) -> BOOL;
- pub fn AppendMenuW(
- hMenu: HMENU,
- uFlags: UINT,
- uIDNewItem: UINT_PTR,
- lpNewItem: LPCWSTR,
- ) -> BOOL;
- pub fn ModifyMenuA(
- hMnu: HMENU,
- uPosition: UINT,
- uFlags: UINT,
- uIDNewItem: UINT_PTR,
- lpNewItem: LPCSTR,
- ) -> BOOL;
- pub fn ModifyMenuW(
- hMnu: HMENU,
- uPosition: UINT,
- uFlags: UINT,
- uIDNewItem: UINT_PTR,
- lpNewItem: LPCWSTR,
- ) -> BOOL;
- pub fn RemoveMenu(
- hMenu: HMENU,
- uPosition: UINT,
- uFlags: UINT,
- ) -> BOOL;
- pub fn DeleteMenu(
- hMenu: HMENU,
- uPosition: UINT,
- uFlags: UINT,
- ) -> BOOL;
- pub fn SetMenuItemBitmaps(
- hMenu: HMENU,
- uPosition: UINT,
- uFlags: UINT,
- hBitmapUnchecked: HBITMAP,
- hBitmapChecked: HBITMAP,
- ) -> BOOL;
- pub fn GetMenuCheckMarkDimensions() -> LONG;
- pub fn TrackPopupMenu(
- hMenu: HMENU,
- uFlags: UINT,
- x: c_int,
- y: c_int,
- nReserved: c_int,
- hWnd: HWND,
- prcRect: *const RECT,
- ) -> BOOL;
-}
-pub const MNC_IGNORE: DWORD = 0;
-pub const MNC_CLOSE: DWORD = 1;
-pub const MNC_EXECUTE: DWORD = 2;
-pub const MNC_SELECT: DWORD = 3;
-STRUCT!{struct TPMPARAMS {
- cbSize: UINT,
- rcExclude: RECT,
-}}
-pub type LPTPMPARAMS = *mut TPMPARAMS;
-extern "system" {
- pub fn TrackPopupMenuEx(
- hMenu: HMENU,
- uFlags: UINT,
- x: INT,
- y: INT,
- hwnd: HWND,
- lptpm: LPTPMPARAMS,
- ) -> BOOL;
- pub fn CalculatePopupWindowPosition(
- anchorPoint: *const POINT,
- windowSize: *const SIZE,
- flags: UINT,
- excludeRect: *mut RECT,
- popupWindowPosition: *mut RECT,
- ) -> BOOL;
-}
-pub const MNS_NOCHECK: DWORD = 0x80000000;
-pub const MNS_MODELESS: DWORD = 0x40000000;
-pub const MNS_DRAGDROP: DWORD = 0x20000000;
-pub const MNS_AUTODISMISS: DWORD = 0x10000000;
-pub const MNS_NOTIFYBYPOS: DWORD = 0x08000000;
-pub const MNS_CHECKORBMP: DWORD = 0x04000000;
-pub const MIM_MAXHEIGHT: DWORD = 0x00000001;
-pub const MIM_BACKGROUND: DWORD = 0x00000002;
-pub const MIM_HELPID: DWORD = 0x00000004;
-pub const MIM_MENUDATA: DWORD = 0x00000008;
-pub const MIM_STYLE: DWORD = 0x00000010;
-pub const MIM_APPLYTOSUBMENUS: DWORD = 0x80000000;
-STRUCT!{struct MENUINFO {
- cbSize: DWORD,
- fMask: DWORD,
- dwStyle: DWORD,
- cyMax: UINT,
- hbrBack: HBRUSH,
- dwContextHelpID: DWORD,
- dwMenuData: ULONG_PTR,
-}}
-pub type LPMENUINFO = *mut MENUINFO;
-pub type LPCMENUINFO = *const MENUINFO;
-extern "system" {
- pub fn GetMenuInfo(
- hMenu: HMENU,
- lpcmi: LPMENUINFO,
- ) -> BOOL;
- pub fn SetMenuInfo(
- hMenu: HMENU,
- lpcmi: LPCMENUINFO,
- ) -> BOOL;
- pub fn EndMenu(
- hMenu: HMENU,
- uFlags: UINT,
- uIDNewItem: UINT_PTR,
- lpNewItem: LPCSTR,
- ) -> BOOL;
-}
-pub const MND_CONTINUE: DWORD = 0;
-pub const MND_ENDMENU: DWORD = 1;
-STRUCT!{struct MENUGETOBJECTINFO {
- dwFlags: DWORD,
- uPos: UINT,
- hmenu: HMENU,
- riid: PVOID,
- pvObj: PVOID,
-}}
-pub type PMENUGETOBJECTINFO = *mut MENUGETOBJECTINFO;
-pub const MNGOF_TOPGAP: DWORD = 0x00000001;
-pub const MNGOF_BOTTOMGAP: DWORD = 0x00000002;
-pub const MNGO_NOINTERFACE: DWORD = 0x00000000;
-pub const MNGO_NOERROR: DWORD = 0x00000001;
-pub const MIIM_STATE: DWORD = 0x00000001;
-pub const MIIM_ID: DWORD = 0x00000002;
-pub const MIIM_SUBMENU: DWORD = 0x00000004;
-pub const MIIM_CHECKMARKS: DWORD = 0x00000008;
-pub const MIIM_TYPE: DWORD = 0x00000010;
-pub const MIIM_DATA: DWORD = 0x00000020;
-pub const MIIM_STRING: DWORD = 0x00000040;
-pub const MIIM_BITMAP: DWORD = 0x00000080;
-pub const MIIM_FTYPE: DWORD = 0x00000100;
-pub const HBMMENU_CALLBACK: HBITMAP = -1isize as HBITMAP;
-pub const HBMMENU_SYSTEM: HBITMAP = 1 as HBITMAP;
-pub const HBMMENU_MBAR_RESTORE: HBITMAP = 2 as HBITMAP;
-pub const HBMMENU_MBAR_MINIMIZE: HBITMAP = 3 as HBITMAP;
-pub const HBMMENU_MBAR_CLOSE: HBITMAP = 5 as HBITMAP;
-pub const HBMMENU_MBAR_CLOSE_D: HBITMAP = 6 as HBITMAP;
-pub const HBMMENU_MBAR_MINIMIZE_D: HBITMAP = 7 as HBITMAP;
-pub const HBMMENU_POPUP_CLOSE: HBITMAP = 8 as HBITMAP;
-pub const HBMMENU_POPUP_RESTORE: HBITMAP = 9 as HBITMAP;
-pub const HBMMENU_POPUP_MAXIMIZE: HBITMAP = 10 as HBITMAP;
-pub const HBMMENU_POPUP_MINIMIZE: HBITMAP = 11 as HBITMAP;
-STRUCT!{struct MENUITEMINFOA {
- cbSize: UINT,
- fMask: UINT,
- fType: UINT,
- fState: UINT,
- wID: UINT,
- hSubMenu: HMENU,
- hbmpChecked: HBITMAP,
- hbmpUnchecked: HBITMAP,
- dwItemData: ULONG_PTR,
- dwTypeData: LPSTR,
- cch: UINT,
- hbmpItem: HBITMAP,
-}}
-pub type LPMENUITEMINFOA = *mut MENUITEMINFOA;
-pub type LPCMENUITEMINFOA = *const MENUITEMINFOA;
-STRUCT!{struct MENUITEMINFOW {
- cbSize: UINT,
- fMask: UINT,
- fType: UINT,
- fState: UINT,
- wID: UINT,
- hSubMenu: HMENU,
- hbmpChecked: HBITMAP,
- hbmpUnchecked: HBITMAP,
- dwItemData: ULONG_PTR,
- dwTypeData: LPWSTR,
- cch: UINT,
- hbmpItem: HBITMAP,
-}}
-pub type LPMENUITEMINFOW = *mut MENUITEMINFOW;
-pub type LPCMENUITEMINFOW = *const MENUITEMINFOW;
-extern "system" {
- pub fn InsertMenuItemA(
- hmenu: HMENU,
- item: UINT,
- fByPosition: BOOL,
- lpmi: LPCMENUITEMINFOA,
- ) -> BOOL;
- pub fn InsertMenuItemW(
- hmenu: HMENU,
- item: UINT,
- fByPosition: BOOL,
- lpmi: LPCMENUITEMINFOW,
- ) -> BOOL;
- pub fn GetMenuItemInfoA(
- hMenu: HMENU,
- uItem: UINT,
- fByPosition: BOOL,
- lpmii: LPMENUITEMINFOA,
- ) -> BOOL;
- pub fn GetMenuItemInfoW(
- hMenu: HMENU,
- uItem: UINT,
- fByPosition: BOOL,
- lpmii: LPMENUITEMINFOW,
- ) -> BOOL;
- pub fn SetMenuItemInfoA(
- hmenu: HMENU,
- item: UINT,
- fByPositon: BOOL,
- lpmii: LPCMENUITEMINFOA,
- ) -> BOOL;
- pub fn SetMenuItemInfoW(
- hmenu: HMENU,
- item: UINT,
- fByPositon: BOOL,
- lpmii: LPCMENUITEMINFOW,
- ) -> BOOL;
-}
-pub const GMDI_USEDISABLED: DWORD = 0x0001;
-pub const GMDI_GOINTOPOPUPS: DWORD = 0x0002;
-extern "system" {
- pub fn GetMenuDefaultItem(
- hMenu: HMENU,
- fByPos: UINT,
- gmdiFlags: UINT,
- ) -> UINT;
- pub fn SetMenuDefaultItem(
- hMenu: HMENU,
- uItem: UINT,
- fByPos: UINT,
- ) -> BOOL;
- pub fn GetMenuItemRect(
- hWnd: HWND,
- hMenu: HMENU,
- uItem: UINT,
- lprcItem: LPRECT,
- ) -> BOOL;
- pub fn MenuItemFromPoint(
- hWnd: HWND,
- hMenu: HMENU,
- ptScreen: POINT,
- ) -> c_int;
-}
-pub const TPM_LEFTBUTTON: UINT = 0x0000;
-pub const TPM_RIGHTBUTTON: UINT = 0x0002;
-pub const TPM_LEFTALIGN: UINT = 0x0000;
-pub const TPM_CENTERALIGN: UINT = 0x0004;
-pub const TPM_RIGHTALIGN: UINT = 0x0008;
-pub const TPM_TOPALIGN: UINT = 0x0000;
-pub const TPM_VCENTERALIGN: UINT = 0x0010;
-pub const TPM_BOTTOMALIGN: UINT = 0x0020;
-pub const TPM_HORIZONTAL: UINT = 0x0000;
-pub const TPM_VERTICAL: UINT = 0x0040;
-pub const TPM_NONOTIFY: UINT = 0x0080;
-pub const TPM_RETURNCMD: UINT = 0x0100;
-pub const TPM_RECURSE: UINT = 0x0001;
-pub const TPM_HORPOSANIMATION: UINT = 0x0400;
-pub const TPM_HORNEGANIMATION: UINT = 0x0800;
-pub const TPM_VERPOSANIMATION: UINT = 0x1000;
-pub const TPM_VERNEGANIMATION: UINT = 0x2000;
-pub const TPM_NOANIMATION: UINT = 0x4000;
-pub const TPM_LAYOUTRTL: UINT = 0x8000;
-pub const TPM_WORKAREA: UINT = 0x10000;
-STRUCT!{struct DROPSTRUCT {
- hwndSource: HWND,
- hwndSink: HWND,
- wFmt: DWORD,
- dwData: ULONG_PTR,
- ptDrop: POINT,
- dwControlData: DWORD,
-}}
-pub type PDROPSTRUCT = *mut DROPSTRUCT;
-pub type LPDROPSTRUCT = *mut DROPSTRUCT;
-pub const DOF_EXECUTABLE: DWORD = 0x8001;
-pub const DOF_DOCUMENT: DWORD = 0x8002;
-pub const DOF_DIRECTORY: DWORD = 0x8003;
-pub const DOF_MULTIPLE: DWORD = 0x8004;
-pub const DOF_PROGMAN: DWORD = 0x0001;
-pub const DOF_SHELLDATA: DWORD = 0x0002;
-pub const DO_DROPFILE: DWORD = 0x454C4946;
-pub const DO_PRINTFILE: DWORD = 0x544E5250;
-extern "system" {
- pub fn DragObject(
- hwndParent: HWND,
- hwndFrom: HWND,
- fmt: UINT,
- data: ULONG_PTR,
- hcur: HCURSOR,
- ) -> DWORD;
- pub fn DragDetect(
- hwnd: HWND,
- pt: POINT,
- ) -> BOOL;
- pub fn DrawIcon(
- hDC: HDC,
- x: c_int,
- y: c_int,
- hIcon: HICON,
- ) -> BOOL;
-}
-pub const DT_TOP: UINT = 0x00000000;
-pub const DT_LEFT: UINT = 0x00000000;
-pub const DT_CENTER: UINT = 0x00000001;
-pub const DT_RIGHT: UINT = 0x00000002;
-pub const DT_VCENTER: UINT = 0x00000004;
-pub const DT_BOTTOM: UINT = 0x00000008;
-pub const DT_WORDBREAK: UINT = 0x00000010;
-pub const DT_SINGLELINE: UINT = 0x00000020;
-pub const DT_EXPANDTABS: UINT = 0x00000040;
-pub const DT_TABSTOP: UINT = 0x00000080;
-pub const DT_NOCLIP: UINT = 0x00000100;
-pub const DT_EXTERNALLEADING: UINT = 0x00000200;
-pub const DT_CALCRECT: UINT = 0x00000400;
-pub const DT_NOPREFIX: UINT = 0x00000800;
-pub const DT_INTERNAL: UINT = 0x00001000;
-pub const DT_EDITCONTROL: UINT = 0x00002000;
-pub const DT_PATH_ELLIPSIS: UINT = 0x00004000;
-pub const DT_END_ELLIPSIS: UINT = 0x00008000;
-pub const DT_MODIFYSTRING: UINT = 0x00010000;
-pub const DT_RTLREADING: UINT = 0x00020000;
-pub const DT_WORD_ELLIPSIS: UINT = 0x00040000;
-pub const DT_NOFULLWIDTHCHARBREAK: UINT = 0x00080000;
-pub const DT_HIDEPREFIX: UINT = 0x00100000;
-pub const DT_PREFIXONLY: UINT = 0x00200000;
-STRUCT!{struct DRAWTEXTPARAMS {
- cbSize: UINT,
- iTabLength: c_int,
- iLeftMargin: c_int,
- iRightMargin: c_int,
- uiLengthDrawn: UINT,
-}}
-pub type LPDRAWTEXTPARAMS = *mut DRAWTEXTPARAMS;
-extern "system" {
- pub fn DrawTextA(
- hdc: HDC,
- lpchText: LPCSTR,
- cchText: c_int,
- lprc: LPRECT,
- format: UINT,
- ) -> c_int;
- pub fn DrawTextW(
- hdc: HDC,
- lpchText: LPCWSTR,
- cchText: c_int,
- lprc: LPRECT,
- format: UINT,
- ) -> c_int;
- pub fn DrawTextExA(
- hdc: HDC,
- lpchText: LPCSTR,
- cchText: c_int,
- lprc: LPRECT,
- format: UINT,
- lpdtp: LPDRAWTEXTPARAMS,
- ) -> c_int;
- pub fn DrawTextExW(
- hdc: HDC,
- lpchText: LPCWSTR,
- cchText: c_int,
- lprc: LPRECT,
- format: UINT,
- lpdtp: LPDRAWTEXTPARAMS,
- ) -> c_int;
- pub fn GrayStringA(
- hDC: HDC,
- hBrush: HBRUSH,
- lpOutputFunc: GRAYSTRINGPROC,
- lpData: LPARAM,
- nCount: c_int,
- X: c_int,
- Y: c_int,
- nWidth: c_int,
- nHeight: c_int,
- ) -> BOOL;
- pub fn GrayStringW(
- hDC: HDC,
- hBrush: HBRUSH,
- lpOutputFunc: GRAYSTRINGPROC,
- lpData: LPARAM,
- nCount: c_int,
- X: c_int,
- Y: c_int,
- nWidth: c_int,
- nHeight: c_int,
- ) -> BOOL;
-}
-pub const DST_COMPLEX: UINT = 0x0000;
-pub const DST_TEXT: UINT = 0x0001;
-pub const DST_PREFIXTEXT: UINT = 0x0002;
-pub const DST_ICON: UINT = 0x0003;
-pub const DST_BITMAP: UINT = 0x0004;
-pub const DSS_NORMAL: UINT = 0x0000;
-pub const DSS_UNION: UINT = 0x0010;
-pub const DSS_DISABLED: UINT = 0x0020;
-pub const DSS_MONO: UINT = 0x0080;
-pub const DSS_HIDEPREFIX: UINT = 0x0200;
-pub const DSS_PREFIXONLY: UINT = 0x0400;
-pub const DSS_RIGHT: UINT = 0x8000;
-extern "system" {
- pub fn DrawStateA(
- hdc: HDC,
- hbrFore: HBRUSH,
- qfnCallBack: DRAWSTATEPROC,
- lData: LPARAM,
- wData: WPARAM,
- x: c_int,
- y: c_int,
- cx: c_int,
- cy: c_int,
- uFlags: UINT,
- ) -> BOOL;
- pub fn DrawStateW(
- hdc: HDC,
- hbrFore: HBRUSH,
- qfnCallBack: DRAWSTATEPROC,
- lData: LPARAM,
- wData: WPARAM,
- x: c_int,
- y: c_int,
- cx: c_int,
- cy: c_int,
- uFlags: UINT,
- ) -> BOOL;
- pub fn TabbedTextOutA(
- hdc: HDC,
- x: c_int,
- y: c_int,
- lpString: LPCSTR,
- chCount: c_int,
- nTabPositions: c_int,
- lpnTabStopPositions: *const INT,
- nTabOrigin: c_int,
- ) -> LONG;
- pub fn TabbedTextOutW(
- hdc: HDC,
- x: c_int,
- y: c_int,
- lpString: LPCWSTR,
- chCount: c_int,
- nTabPositions: c_int,
- lpnTabStopPositions: *const INT,
- nTabOrigin: c_int,
- ) -> LONG;
- pub fn GetTabbedTextExtentA(
- hdc: HDC,
- lpString: LPCSTR,
- chCount: c_int,
- nTabPositions: c_int,
- lpnTabStopPositions: *const INT,
- ) -> DWORD;
- pub fn GetTabbedTextExtentW(
- hdc: HDC,
- lpString: LPCWSTR,
- chCount: c_int,
- nTabPositions: c_int,
- lpnTabStopPositions: *const INT,
- ) -> DWORD;
- pub fn UpdateWindow(
- hWnd: HWND,
- ) -> BOOL;
- pub fn SetActiveWindow(
- hWnd: HWND,
- ) -> HWND;
- pub fn GetForegroundWindow() -> HWND;
- pub fn PaintDesktop(
- hdc: HDC,
- ) -> BOOL;
- pub fn SwitchToThisWindow(
- hwnd: HWND,
- fUnknown: BOOL,
- );
- pub fn SetForegroundWindow(
- hWnd: HWND,
- ) -> BOOL;
- pub fn AllowSetForegroundWindow(
- dwProcessId: DWORD,
- ) -> BOOL;
-}
-pub const ASFW_ANY: DWORD = -1i32 as u32;
-extern "system" {
- pub fn LockSetForegroundWindow(
- uLockCode: UINT,
- ) -> BOOL;
-}
-pub const LSFW_LOCK: UINT = 1;
-pub const LSFW_UNLOCK: UINT = 2;
-extern "system" {
- pub fn WindowFromDC(
- hDC: HDC,
- ) -> HWND;
- pub fn GetDC(
- hWnd: HWND,
- ) -> HDC;
- pub fn GetDCEx(
- hWnd: HWND,
- hrgnClip: HRGN,
- flags: DWORD,
- ) -> HDC;
-}
-pub const DCX_WINDOW: DWORD = 0x00000001;
-pub const DCX_CACHE: DWORD = 0x00000002;
-pub const DCX_NORESETATTRS: DWORD = 0x00000004;
-pub const DCX_CLIPCHILDREN: DWORD = 0x00000008;
-pub const DCX_CLIPSIBLINGS: DWORD = 0x00000010;
-pub const DCX_PARENTCLIP: DWORD = 0x00000020;
-pub const DCX_EXCLUDERGN: DWORD = 0x00000040;
-pub const DCX_INTERSECTRGN: DWORD = 0x00000080;
-pub const DCX_EXCLUDEUPDATE: DWORD = 0x00000100;
-pub const DCX_INTERSECTUPDATE: DWORD = 0x00000200;
-pub const DCX_LOCKWINDOWUPDATE: DWORD = 0x00000400;
-pub const DCX_VALIDATE: DWORD = 0x00200000;
-extern "system" {
- pub fn GetWindowDC(
- hWnd: HWND,
- ) -> HDC;
- pub fn ReleaseDC(
- hWnd: HWND,
- hDC: HDC,
- ) -> c_int;
- pub fn BeginPaint(
- hwnd: HWND,
- lpPaint: LPPAINTSTRUCT,
- ) -> HDC;
- pub fn EndPaint(
- hWnd: HWND,
- lpPaint: *const PAINTSTRUCT,
- ) -> BOOL;
- pub fn GetUpdateRect(
- hWnd: HWND,
- lpRect: LPRECT,
- bErase: BOOL,
- ) -> BOOL;
- pub fn GetUpdateRgn(
- hWnd: HWND,
- hRgn: HRGN,
- bErase: BOOL,
- ) -> c_int;
- pub fn SetWindowRgn(
- hWnd: HWND,
- hRgn: HRGN,
- bRedraw: BOOL,
- ) -> c_int;
- pub fn GetWindowRgn(
- hWnd: HWND,
- hRgn: HRGN,
- ) -> c_int;
- pub fn GetWindowRgnBox(
- hWnd: HWND,
- lprc: LPRECT,
- ) -> c_int;
- pub fn ExcludeUpdateRgn(
- hDC: HDC,
- hWnd: HWND,
- ) -> c_int;
- pub fn InvalidateRect(
- hWnd: HWND,
- lpRect: *const RECT,
- bErase: BOOL,
- ) -> BOOL;
- pub fn ValidateRect(
- hWnd: HWND,
- lpRect: *const RECT,
- ) -> BOOL;
- pub fn InvalidateRgn(
- hWnd: HWND,
- hRgn: HRGN,
- bErase: BOOL,
- ) -> BOOL;
- pub fn ValidateRgn(
- hWnd: HWND,
- hRgn: HRGN,
- ) -> BOOL;
- pub fn RedrawWindow(
- hwnd: HWND,
- lprcUpdate: *const RECT,
- hrgnUpdate: HRGN,
- flags: UINT,
- ) -> BOOL;
-}
-pub const RDW_INVALIDATE: UINT = 0x0001;
-pub const RDW_INTERNALPAINT: UINT = 0x0002;
-pub const RDW_ERASE: UINT = 0x0004;
-pub const RDW_VALIDATE: UINT = 0x0008;
-pub const RDW_NOINTERNALPAINT: UINT = 0x0010;
-pub const RDW_NOERASE: UINT = 0x0020;
-pub const RDW_NOCHILDREN: UINT = 0x0040;
-pub const RDW_ALLCHILDREN: UINT = 0x0080;
-pub const RDW_UPDATENOW: UINT = 0x0100;
-pub const RDW_ERASENOW: UINT = 0x0200;
-pub const RDW_FRAME: UINT = 0x0400;
-pub const RDW_NOFRAME: UINT = 0x0800;
-extern "system" {
- pub fn LockWindowUpdate(
- hWndLock: HWND,
- ) -> BOOL;
- pub fn ScrollWindow(
- hWnd: HWND,
- xAmount: c_int,
- yAmount: c_int,
- lpRect: *const RECT,
- lpClipRect: *const RECT,
- ) -> BOOL;
- pub fn ScrollDC(
- hDC: HDC,
- dx: c_int,
- dy: c_int,
- lprcScroll: *const RECT,
- lprcClip: *const RECT,
- hrgnUpdate: HRGN,
- lprcUpdate: LPRECT,
- ) -> BOOL;
- pub fn ScrollWindowEx(
- hWnd: HWND,
- dx: c_int,
- dy: c_int,
- prcScroll: *const RECT,
- prcClip: *const RECT,
- hrgnUpdate: HRGN,
- prcUpdate: LPRECT,
- flags: UINT,
- ) -> c_int;
-}
-pub const SW_SCROLLCHILDREN: UINT = 0x0001;
-pub const SW_INVALIDATE: UINT = 0x0002;
-pub const SW_ERASE: UINT = 0x0004;
-pub const SW_SMOOTHSCROLL: UINT = 0x0010;
-extern "system" {
- pub fn SetScrollPos(
- hWnd: HWND,
- nBar: c_int,
- nPos: c_int,
- bRedraw: BOOL,
- ) -> c_int;
- pub fn GetScrollPos(
- hWnd: HWND,
- nBar: c_int,
- ) -> c_int;
- pub fn SetScrollRange(
- hWnd: HWND,
- nBar: c_int,
- nMinPos: c_int,
- nMaxPos: c_int,
- bRedraw: BOOL,
- ) -> BOOL;
- pub fn GetScrollRange(
- hWnd: HWND,
- nBar: c_int,
- lpMinPos: LPINT,
- lpMaxPos: LPINT,
- ) -> BOOL;
- pub fn ShowScrollBar(
- hWnd: HWND,
- wBar: c_int,
- bShow: BOOL,
- ) -> BOOL;
- pub fn EnableScrollBar(
- hWnd: HWND,
- wSBflags: UINT,
- wArrows: UINT,
- ) -> BOOL;
-}
-pub const ESB_ENABLE_BOTH: UINT = 0x0000;
-pub const ESB_DISABLE_BOTH: UINT = 0x0003;
-pub const ESB_DISABLE_LEFT: UINT = 0x0001;
-pub const ESB_DISABLE_RIGHT: UINT = 0x0002;
-pub const ESB_DISABLE_UP: UINT = 0x0001;
-pub const ESB_DISABLE_DOWN: UINT = 0x0002;
-pub const ESB_DISABLE_LTUP: UINT = ESB_DISABLE_LEFT;
-pub const ESB_DISABLE_RTDN: UINT = ESB_DISABLE_RIGHT;
-extern "system" {
- pub fn SetPropA(
- hWnd: HWND,
- lpString: LPCSTR,
- hData: HANDLE,
- ) -> BOOL;
- pub fn SetPropW(
- hWnd: HWND,
- lpString: LPCWSTR,
- hData: HANDLE,
- ) -> BOOL;
- pub fn GetPropA(
- hwnd: HWND,
- lpString: LPCSTR,
- ) -> HANDLE;
- pub fn GetPropW(
- hwnd: HWND,
- lpString: LPCWSTR,
- ) -> HANDLE;
- pub fn RemovePropA(
- hWnd: HWND,
- lpStr: LPCSTR,
- ) -> HANDLE;
- pub fn RemovePropW(
- hWnd: HWND,
- lpStr: LPCWSTR,
- ) -> HANDLE;
- pub fn EnumPropsExA(
- hWnd: HWND,
- lpEnumFunc: PROPENUMPROCA,
- lParam: LPARAM,
- ) -> c_int;
- pub fn EnumPropsExW(
- hWnd: HWND,
- lpEnumFunc: PROPENUMPROCW,
- lParam: LPARAM,
- ) -> c_int;
- pub fn EnumPropsA(
- hWnd: HWND,
- lpEnumFunc: PROPENUMPROCA,
- ) -> c_int;
- pub fn EnumPropsW(
- hWnd: HWND,
- lpEnumFunc: PROPENUMPROCW,
- ) -> c_int;
- pub fn SetWindowTextA(
- hWnd: HWND,
- lpString: LPCSTR,
- ) -> BOOL;
- pub fn SetWindowTextW(
- hWnd: HWND,
- lpString: LPCWSTR,
- ) -> BOOL;
- pub fn GetWindowTextA(
- hWnd: HWND,
- lpString: LPSTR,
- nMaxCount: c_int,
- ) -> c_int;
- pub fn GetWindowTextW(
- hWnd: HWND,
- lpString: LPWSTR,
- nMaxCount: c_int,
- ) -> c_int;
- pub fn GetWindowTextLengthA(
- hWnd: HWND,
- ) -> c_int;
- pub fn GetWindowTextLengthW(
- hWnd: HWND,
- ) -> c_int;
- pub fn GetClientRect(
- hWnd: HWND,
- lpRect: LPRECT,
- ) -> BOOL;
- pub fn GetWindowRect(
- hWnd: HWND,
- lpRect: LPRECT,
- ) -> BOOL;
- pub fn AdjustWindowRect(
- lpRect: LPRECT,
- dwStyle: DWORD,
- bMenu: BOOL,
- ) -> BOOL;
- pub fn AdjustWindowRectEx(
- lpRect: LPRECT,
- dwStyle: DWORD,
- bMenu: BOOL,
- dwExStyle: DWORD,
- ) -> BOOL;
- pub fn AdjustWindowRectExForDpi(
- lpRect: LPRECT,
- dwStyle: DWORD,
- bMenu: BOOL,
- dwExStyle: DWORD,
- dpi: UINT,
- ) -> BOOL;
-}
-pub const HELPINFO_WINDOW: UINT = 0x0001;
-pub const HELPINFO_MENUITEM: UINT = 0x0002;
-STRUCT!{struct HELPINFO {
- cbSize: UINT,
- iContextType: c_int,
- iCtrlId: c_int,
- hItemHandle: HANDLE,
- dwContextId: DWORD,
- MousePos: POINT,
-}}
-pub type LPHELPINFO = *mut HELPINFO;
-extern "system" {
- pub fn SetWindowContextHelpId(
- _: HWND,
- _: DWORD,
- ) -> BOOL;
- pub fn GetWindowContextHelpId(
- _: HWND,
- ) -> DWORD;
- pub fn SetMenuContextHelpId(
- _: HMENU,
- _: DWORD,
- ) -> BOOL;
- pub fn GetMenuContextHelpId(
- _: HMENU,
- ) -> DWORD;
-}
-pub const MB_OK: UINT = 0x00000000;
-pub const MB_OKCANCEL: UINT = 0x00000001;
-pub const MB_ABORTRETRYIGNORE: UINT = 0x00000002;
-pub const MB_YESNOCANCEL: UINT = 0x00000003;
-pub const MB_YESNO: UINT = 0x00000004;
-pub const MB_RETRYCANCEL: UINT = 0x00000005;
-pub const MB_CANCELTRYCONTINUE: UINT = 0x00000006;
-pub const MB_ICONHAND: UINT = 0x00000010;
-pub const MB_ICONQUESTION: UINT = 0x00000020;
-pub const MB_ICONEXCLAMATION: UINT = 0x00000030;
-pub const MB_ICONASTERISK: UINT = 0x00000040;
-pub const MB_USERICON: UINT = 0x00000080;
-pub const MB_ICONWARNING: UINT = MB_ICONEXCLAMATION;
-pub const MB_ICONERROR: UINT = MB_ICONHAND;
-pub const MB_ICONINFORMATION: UINT = MB_ICONASTERISK;
-pub const MB_ICONSTOP: UINT = MB_ICONHAND;
-pub const MB_DEFBUTTON1: UINT = 0x00000000;
-pub const MB_DEFBUTTON2: UINT = 0x00000100;
-pub const MB_DEFBUTTON3: UINT = 0x00000200;
-pub const MB_DEFBUTTON4: UINT = 0x00000300;
-pub const MB_APPLMODAL: UINT = 0x00000000;
-pub const MB_SYSTEMMODAL: UINT = 0x00001000;
-pub const MB_TASKMODAL: UINT = 0x00002000;
-pub const MB_HELP: UINT = 0x00004000;
-pub const MB_NOFOCUS: UINT = 0x00008000;
-pub const MB_SETFOREGROUND: UINT = 0x00010000;
-pub const MB_DEFAULT_DESKTOP_ONLY: UINT = 0x00020000;
-pub const MB_TOPMOST: UINT = 0x00040000;
-pub const MB_RIGHT: UINT = 0x00080000;
-pub const MB_RTLREADING: UINT = 0x00100000;
-pub const MB_SERVICE_NOTIFICATION: UINT = 0x00200000;
-pub const MB_SERVICE_NOTIFICATION_NT3X: UINT = 0x00040000;
-pub const MB_TYPEMASK: UINT = 0x0000000F;
-pub const MB_ICONMASK: UINT = 0x000000F0;
-pub const MB_DEFMASK: UINT = 0x00000F00;
-pub const MB_MODEMASK: UINT = 0x00003000;
-pub const MB_MISCMASK: UINT = 0x0000C000;
-extern "system" {
- pub fn MessageBoxA(
- hWnd: HWND,
- lpText: LPCSTR,
- lpCaption: LPCSTR,
- uType: UINT,
- ) -> c_int;
- pub fn MessageBoxW(
- hWnd: HWND,
- lpText: LPCWSTR,
- lpCaption: LPCWSTR,
- uType: UINT,
- ) -> c_int;
- pub fn MessageBoxExA(
- hWnd: HWND,
- lpText: LPCSTR,
- lpCaption: LPCSTR,
- uType: UINT,
- wLanguageId: WORD,
- ) -> c_int;
- pub fn MessageBoxExW(
- hWnd: HWND,
- lpText: LPCWSTR,
- lpCaption: LPCWSTR,
- uType: UINT,
- wLanguageId: WORD,
- ) -> c_int;
-}
-FN!{stdcall MSGBOXCALLBACK(
- LPHELPINFO,
-) -> ()}
-STRUCT!{struct MSGBOXPARAMSA {
- cbSize: UINT,
- hwndOwner: HWND,
- hInstance: HINSTANCE,
- lpszText: LPCSTR,
- lpszCaption: LPCSTR,
- dwStyle: DWORD,
- lpszIcon: LPCSTR,
- dwContextHelpId: DWORD_PTR,
- lpfnMsgBoxCallback: MSGBOXCALLBACK,
- dwLanguageId: DWORD,
-}}
-pub type PMSGBOXPARAMSA = *mut MSGBOXPARAMSA;
-pub type LPMSGBOXPARAMSA = *mut MSGBOXPARAMSA;
-STRUCT!{struct MSGBOXPARAMSW {
- cbSize: UINT,
- hwndOwner: HWND,
- hInstance: HINSTANCE,
- lpszText: LPCWSTR,
- lpszCaption: LPCWSTR,
- dwStyle: DWORD,
- lpszIcon: LPCWSTR,
- dwContextHelpId: DWORD_PTR,
- lpfnMsgBoxCallback: MSGBOXCALLBACK,
- dwLanguageId: DWORD,
-}}
-pub type PMSGBOXPARAMSW = *mut MSGBOXPARAMSW;
-pub type LPMSGBOXPARAMSW = *mut MSGBOXPARAMSW;
-extern "system" {
- pub fn MessageBoxIndirectA(
- lpmbp: *const MSGBOXPARAMSA,
- ) -> c_int;
- pub fn MessageBoxIndirectW(
- lpmbp: *const MSGBOXPARAMSW,
- ) -> c_int;
- pub fn MessageBeep(
- uType: UINT,
- ) -> BOOL;
- pub fn ShowCursor(
- bShow: BOOL,
- ) -> c_int;
- pub fn SetCursorPos(
- X: c_int,
- Y: c_int,
- ) -> BOOL;
- pub fn SetPhysicalCursorPos(
- X: c_int,
- Y: c_int,
- ) -> BOOL;
- pub fn SetCursor(
- hCursor: HCURSOR,
- ) -> HCURSOR;
- pub fn GetCursorPos(
- lpPoint: LPPOINT,
- ) -> BOOL;
- pub fn GetPhysicalCursorPos(
- lpPoint: LPPOINT,
- ) -> BOOL;
- pub fn GetClipCursor(
- lpRect: LPRECT,
- ) -> BOOL;
- pub fn GetCursor() -> HCURSOR;
- pub fn CreateCaret(
- hWnd: HWND,
- hBitmap: HBITMAP,
- nWidth: c_int,
- nHeight: c_int,
- ) -> BOOL;
- pub fn GetCaretBlinkTime() -> UINT;
- pub fn SetCaretBlinkTime(
- uMSeconds: UINT,
- ) -> BOOL;
- pub fn DestroyCaret() -> BOOL;
- pub fn HideCaret(
- hWnd: HWND,
- ) -> BOOL;
- pub fn ShowCaret(
- hWnd: HWND,
- ) -> BOOL;
- pub fn SetCaretPos(
- X: c_int,
- Y: c_int,
- ) -> BOOL;
- pub fn GetCaretPos(
- lpPoint: LPPOINT,
- ) -> BOOL;
- pub fn ClientToScreen(
- hWnd: HWND,
- lpPoint: LPPOINT,
- ) -> BOOL;
- pub fn ScreenToClient(
- hWnd: HWND,
- lpPoint: LPPOINT,
- ) -> BOOL;
- pub fn LogicalToPhysicalPoint(
- hWnd: HWND,
- lpPoint: LPPOINT,
- ) -> BOOL;
- pub fn PhysicalToLogicalPoint(
- hWnd: HWND,
- lpPoint: LPPOINT,
- ) -> BOOL;
- pub fn LogicalToPhysicalPointForPerMonitorDPI(
- hWnd: HWND,
- lpPoint: LPPOINT,
- ) -> BOOL;
- pub fn PhysicalToLogicalPointForPerMonitorDPI(
- hWnd: HWND,
- lpPoint: LPPOINT,
- ) -> BOOL;
- pub fn MapWindowPoints(
- hWndFrom: HWND,
- hWndTo: HWND,
- lpPoints: LPPOINT,
- cPoints: UINT,
- ) -> c_int;
- pub fn WindowFromPoint(
- Point: POINT,
- ) -> HWND;
- pub fn WindowFromPhysicalPoint(
- Point: POINT,
- ) -> HWND;
- pub fn ChildWindowFromPoint(
- hWndParent: HWND,
- point: POINT,
- ) -> HWND;
- pub fn ClipCursor(
- lpRect: *const RECT,
- ) -> BOOL;
-}
-pub const CWP_ALL: UINT = 0x0000;
-pub const CWP_SKIPINVISIBLE: UINT = 0x0001;
-pub const CWP_SKIPDISABLED: UINT = 0x0002;
-pub const CWP_SKIPTRANSPARENT: UINT = 0x0004;
-extern "system" {
- pub fn ChildWindowFromPointEx(
- hwnd: HWND,
- pt: POINT,
- flags: UINT,
- ) -> HWND;
-}
-pub const CTLCOLOR_MSGBOX: c_int = 0;
-pub const CTLCOLOR_EDIT: c_int = 1;
-pub const CTLCOLOR_LISTBOX: c_int = 2;
-pub const CTLCOLOR_BTN: c_int = 3;
-pub const CTLCOLOR_DLG: c_int = 4;
-pub const CTLCOLOR_SCROLLBAR: c_int = 5;
-pub const CTLCOLOR_STATIC: c_int = 6;
-pub const CTLCOLOR_MAX: c_int = 7;
-pub const COLOR_SCROLLBAR: c_int = 0;
-pub const COLOR_BACKGROUND: c_int = 1;
-pub const COLOR_ACTIVECAPTION: c_int = 2;
-pub const COLOR_INACTIVECAPTION: c_int = 3;
-pub const COLOR_MENU: c_int = 4;
-pub const COLOR_WINDOW: c_int = 5;
-pub const COLOR_WINDOWFRAME: c_int = 6;
-pub const COLOR_MENUTEXT: c_int = 7;
-pub const COLOR_WINDOWTEXT: c_int = 8;
-pub const COLOR_CAPTIONTEXT: c_int = 9;
-pub const COLOR_ACTIVEBORDER: c_int = 10;
-pub const COLOR_INACTIVEBORDER: c_int = 11;
-pub const COLOR_APPWORKSPACE: c_int = 12;
-pub const COLOR_HIGHLIGHT: c_int = 13;
-pub const COLOR_HIGHLIGHTTEXT: c_int = 14;
-pub const COLOR_BTNFACE: c_int = 15;
-pub const COLOR_BTNSHADOW: c_int = 16;
-pub const COLOR_GRAYTEXT: c_int = 17;
-pub const COLOR_BTNTEXT: c_int = 18;
-pub const COLOR_INACTIVECAPTIONTEXT: c_int = 19;
-pub const COLOR_BTNHIGHLIGHT: c_int = 20;
-pub const COLOR_3DDKSHADOW: c_int = 21;
-pub const COLOR_3DLIGHT: c_int = 22;
-pub const COLOR_INFOTEXT: c_int = 23;
-pub const COLOR_INFOBK: c_int = 24;
-pub const COLOR_HOTLIGHT: c_int = 26;
-pub const COLOR_GRADIENTACTIVECAPTION: c_int = 27;
-pub const COLOR_GRADIENTINACTIVECAPTION: c_int = 28;
-pub const COLOR_MENUHILIGHT: c_int = 29;
-pub const COLOR_MENUBAR: c_int = 30;
-pub const COLOR_DESKTOP: c_int = COLOR_BACKGROUND;
-pub const COLOR_3DFACE: c_int = COLOR_BTNFACE;
-pub const COLOR_3DSHADOW: c_int = COLOR_BTNSHADOW;
-pub const COLOR_3DHIGHLIGHT: c_int = COLOR_BTNHIGHLIGHT;
-pub const COLOR_3DHILIGHT: c_int = COLOR_BTNHIGHLIGHT;
-pub const COLOR_BTNHILIGHT: c_int = COLOR_BTNHIGHLIGHT;
-extern "system" {
- pub fn GetSysColor(
- nIndex: c_int,
- ) -> DWORD;
- pub fn GetSysColorBrush(
- nIndex: c_int,
- ) -> HBRUSH;
- pub fn SetSysColors(
- cElements: c_int,
- lpaElements: *const INT,
- lpaRgbValues: *const COLORREF,
- ) -> BOOL;
- pub fn DrawFocusRect(
- hDC: HDC,
- lprc: *const RECT,
- ) -> BOOL;
- pub fn FillRect(
- hDC: HDC,
- lprc: *const RECT,
- hbr: HBRUSH,
- ) -> c_int;
- pub fn FrameRect(
- hDC: HDC,
- lprc: *const RECT,
- hbr: HBRUSH,
- ) -> c_int;
- pub fn InvertRect(
- hDC: HDC,
- lprc: *const RECT,
- ) -> BOOL;
- pub fn SetRect(
- lprc: LPRECT,
- xLeft: c_int,
- yTop: c_int,
- xRight: c_int,
- yBottom: c_int,
- ) -> BOOL;
- pub fn SetRectEmpty(
- lprc: LPRECT,
- ) -> BOOL;
- pub fn CopyRect(
- lprcDst: LPRECT,
- lprcSrc: *const RECT,
- ) -> BOOL;
- pub fn InflateRect(
- lprc: LPRECT,
- dx: c_int,
- dy: c_int,
- ) -> BOOL;
- pub fn IntersectRect(
- lprcDst: LPRECT,
- lprcSrc1: *const RECT,
- lprcSrc2: *const RECT,
- ) -> BOOL;
- pub fn UnionRect(
- lprcDst: LPRECT,
- lprcSrc1: *const RECT,
- lprcSrc2: *const RECT,
- ) -> BOOL;
- pub fn SubtractRect(
- lprcDst: LPRECT,
- lprcSrc1: *const RECT,
- lprcSrc2: *const RECT,
- ) -> BOOL;
- pub fn OffsetRect(
- lprc: LPRECT,
- dx: c_int,
- dy: c_int,
- ) -> BOOL;
- pub fn IsRectEmpty(
- lprc: *const RECT,
- ) -> BOOL;
- pub fn EqualRect(
- lprc1: *const RECT,
- lprc2: *const RECT,
- ) -> BOOL;
- pub fn PtInRect(
- lprc: *const RECT,
- pt: POINT,
- ) -> BOOL;
- pub fn GetWindowWord(
- hWnd: HWND,
- nIndex: c_int,
- ) -> WORD;
- pub fn SetWindowWord(
- hwnd: HWND,
- nIndex: c_int,
- wNewWord: WORD,
- ) -> WORD;
- pub fn GetWindowLongA(
- hWnd: HWND,
- nIndex: c_int,
- ) -> LONG;
- pub fn GetWindowLongW(
- hWnd: HWND,
- nIndex: c_int,
- ) -> LONG;
- pub fn SetWindowLongA(
- hWnd: HWND,
- nIndex: c_int,
- dwNewLong: LONG,
- ) -> LONG;
- pub fn SetWindowLongW(
- hWnd: HWND,
- nIndex: c_int,
- dwNewLong: LONG,
- ) -> LONG;
- #[cfg(target_pointer_width = "64")]
- pub fn GetWindowLongPtrA(
- hWnd: HWND,
- nIndex: c_int,
- ) -> LONG_PTR;
- #[cfg(target_pointer_width = "64")]
- pub fn GetWindowLongPtrW(
- hWnd: HWND,
- nIndex: c_int,
- ) -> LONG_PTR;
- #[cfg(target_pointer_width = "64")]
- pub fn SetWindowLongPtrA(
- hWnd: HWND,
- nIndex: c_int,
- dwNewLong: LONG_PTR,
- ) -> LONG_PTR;
- #[cfg(target_pointer_width = "64")]
- pub fn SetWindowLongPtrW(
- hWnd: HWND,
- nIndex: c_int,
- dwNewLong: LONG_PTR,
- ) -> LONG_PTR;
-}
-#[cfg(target_pointer_width = "32")]
-pub use self::GetWindowLongA as GetWindowLongPtrA;
-#[cfg(target_pointer_width = "32")]
-pub use self::GetWindowLongW as GetWindowLongPtrW;
-#[cfg(target_pointer_width = "32")]
-pub use self::SetWindowLongA as SetWindowLongPtrA;
-#[cfg(target_pointer_width = "32")]
-pub use self::SetWindowLongW as SetWindowLongPtrW;
-extern "system" {
- pub fn GetClassWord(
- hWnd: HWND,
- nIndex: c_int,
- ) -> WORD;
- pub fn SetClassWord(
- hWnd: HWND,
- nIndex: c_int,
- wNewWord: WORD,
- ) -> WORD;
- pub fn GetClassLongA(
- hWnd: HWND,
- nIndex: c_int,
- ) -> DWORD;
- pub fn GetClassLongW(
- hWnd: HWND,
- nIndex: c_int,
- ) -> DWORD;
- pub fn SetClassLongA(
- hWnd: HWND,
- nIndex: c_int,
- dwNewLong: LONG,
- ) -> DWORD;
- pub fn SetClassLongW(
- hWnd: HWND,
- nIndex: c_int,
- dwNewLong: LONG,
- ) -> DWORD;
- #[cfg(target_pointer_width = "64")]
- pub fn GetClassLongPtrA(
- hWnd: HWND,
- nIndex: c_int,
- ) -> ULONG_PTR;
- #[cfg(target_pointer_width = "64")]
- pub fn GetClassLongPtrW(
- hWnd: HWND,
- nIndex: c_int,
- ) -> ULONG_PTR;
- #[cfg(target_pointer_width = "64")]
- pub fn SetClassLongPtrA(
- hWnd: HWND,
- nIndex: c_int,
- dwNewLong: LONG_PTR,
- ) -> ULONG_PTR;
- #[cfg(target_pointer_width = "64")]
- pub fn SetClassLongPtrW(
- hWnd: HWND,
- nIndex: c_int,
- dwNewLong: LONG_PTR,
- ) -> ULONG_PTR;
-}
-#[cfg(target_pointer_width = "32")]
-pub use self::GetClassLongA as GetClassLongPtrA;
-#[cfg(target_pointer_width = "32")]
-pub use self::GetClassLongW as GetClassLongPtrW;
-#[cfg(target_pointer_width = "32")]
-pub use self::SetClassLongA as SetClassLongPtrA;
-#[cfg(target_pointer_width = "32")]
-pub use self::SetClassLongW as SetClassLongPtrW;
-extern "system" {
- pub fn GetProcessDefaultLayout(
- pdwDefaultLayout: *mut DWORD,
- ) -> BOOL;
- pub fn SetProcessDefaultLayout(
- dwDefaultLayout: DWORD,
- ) -> BOOL;
- pub fn GetDesktopWindow() -> HWND;
- pub fn GetParent(
- hWnd: HWND,
- ) -> HWND;
- pub fn SetParent(
- hWndChild: HWND,
- hWndNewParent: HWND,
- ) -> HWND;
- pub fn EnumChildWindows(
- hWndParent: HWND,
- lpEnumFunc: WNDENUMPROC,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn FindWindowA(
- lpClassName: LPCSTR,
- lpWindowName: LPCSTR,
- ) -> HWND;
- pub fn FindWindowW(
- lpClassName: LPCWSTR,
- lpWindowName: LPCWSTR,
- ) -> HWND;
- pub fn FindWindowExA(
- hWndParent: HWND,
- hWndChildAfter: HWND,
- lpszClass: LPCSTR,
- lpszWindow: LPCSTR,
- ) -> HWND;
- pub fn FindWindowExW(
- hWndParent: HWND,
- hWndChildAfter: HWND,
- lpszClass: LPCWSTR,
- lpszWindow: LPCWSTR,
- ) -> HWND;
- pub fn GetShellWindow() -> HWND;
- pub fn RegisterShellHookWindow(
- hwnd: HWND,
- ) -> BOOL;
- pub fn DeregisterShellHookWindow(
- hwnd: HWND,
- ) -> BOOL;
- pub fn EnumWindows(
- lpEnumFunc: WNDENUMPROC,
- lParam: LPARAM,
- ) -> BOOL;
- pub fn EnumThreadWindows(
- dwThreadId: DWORD,
- lpfn: WNDENUMPROC,
- lParam: LPARAM,
- ) -> BOOL;
-}
-// EnumTaskWindows
-extern "system" {
- pub fn GetClassNameA(
- hWnd: HWND,
- lpClassName: LPCSTR,
- nMaxCount: c_int,
- ) -> c_int;
- pub fn GetClassNameW(
- hWnd: HWND,
- lpClassName: LPCWSTR,
- nMaxCount: c_int,
- ) -> c_int;
- pub fn GetTopWindow(
- hWnd: HWND,
- ) -> HWND;
-}
-// GetNextWindow
-// GetSysModalWindow
-// SetSysModalWindow
-extern "system" {
- pub fn GetWindowThreadProcessId(
- hWnd: HWND,
- lpdwProcessId: LPDWORD,
- ) -> DWORD;
- pub fn IsGUIThread(
- bConvert: BOOL,
- ) -> BOOL;
- pub fn GetLastActivePopup(
- hWnd: HWND,
- ) -> HWND;
-}
-pub const GW_HWNDFIRST: UINT = 0;
-pub const GW_HWNDLAST: UINT = 1;
-pub const GW_HWNDNEXT: UINT = 2;
-pub const GW_HWNDPREV: UINT = 3;
-pub const GW_OWNER: UINT = 4;
-pub const GW_CHILD: UINT = 5;
-pub const GW_ENABLEDPOPUP: UINT = 6;
-pub const GW_MAX: UINT = 6;
-extern "system" {
- pub fn GetWindow(
- hWnd: HWND,
- uCmd: UINT,
- ) -> HWND;
- pub fn SetWindowsHookA(
- nFilterType: c_int,
- pfnFilterProc: HOOKPROC,
- ) -> HHOOK;
- pub fn SetWindowsHookW(
- nFilterType: c_int,
- pfnFilterProc: HOOKPROC,
- ) -> HHOOK;
- pub fn UnhookWindowsHook(
- nFilterType: c_int,
- pfnFilterProc: HOOKPROC,
- ) -> BOOL;
- pub fn SetWindowsHookExA(
- idHook: c_int,
- lpfn: HOOKPROC,
- hmod: HINSTANCE,
- dwThreadId: DWORD,
- ) -> HHOOK;
- pub fn SetWindowsHookExW(
- idHook: c_int,
- lpfn: HOOKPROC,
- hmod: HINSTANCE,
- dwThreadId: DWORD,
- ) -> HHOOK;
- pub fn UnhookWindowsHookEx(
- hhk: HHOOK,
- ) -> BOOL;
- pub fn CallNextHookEx(
- hhk: HHOOK,
- nCode: c_int,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
-}
-// DefHookProc
-pub const MF_INSERT: UINT = 0x00000000;
-pub const MF_CHANGE: UINT = 0x00000080;
-pub const MF_APPEND: UINT = 0x00000100;
-pub const MF_DELETE: UINT = 0x00000200;
-pub const MF_REMOVE: UINT = 0x00001000;
-pub const MF_BYCOMMAND: UINT = 0x00000000;
-pub const MF_BYPOSITION: UINT = 0x00000400;
-pub const MF_SEPARATOR: UINT = 0x00000800;
-pub const MF_ENABLED: UINT = 0x00000000;
-pub const MF_GRAYED: UINT = 0x00000001;
-pub const MF_DISABLED: UINT = 0x00000002;
-pub const MF_UNCHECKED: UINT = 0x00000000;
-pub const MF_CHECKED: UINT = 0x00000008;
-pub const MF_USECHECKBITMAPS: UINT = 0x00000200;
-pub const MF_STRING: UINT = 0x00000000;
-pub const MF_BITMAP: UINT = 0x00000004;
-pub const MF_OWNERDRAW: UINT = 0x00000100;
-pub const MF_POPUP: UINT = 0x00000010;
-pub const MF_MENUBARBREAK: UINT = 0x00000020;
-pub const MF_MENUBREAK: UINT = 0x00000040;
-pub const MF_UNHILITE: UINT = 0x00000000;
-pub const MF_HILITE: UINT = 0x00000080;
-pub const MF_DEFAULT: UINT = 0x00001000;
-pub const MF_SYSMENU: UINT = 0x00002000;
-pub const MF_HELP: UINT = 0x00004000;
-pub const MF_RIGHTJUSTIFY: UINT = 0x00004000;
-pub const MF_MOUSESELECT: UINT = 0x00008000;
-pub const MF_END: UINT = 0x00000080;
-pub const MFT_STRING: UINT = MF_STRING;
-pub const MFT_BITMAP: UINT = MF_BITMAP;
-pub const MFT_MENUBARBREAK: UINT = MF_MENUBARBREAK;
-pub const MFT_MENUBREAK: UINT = MF_MENUBREAK;
-pub const MFT_OWNERDRAW: UINT = MF_OWNERDRAW;
-pub const MFT_RADIOCHECK: UINT = 0x00000200;
-pub const MFT_SEPARATOR: UINT = MF_SEPARATOR;
-pub const MFT_RIGHTORDER: UINT = 0x00002000;
-pub const MFT_RIGHTJUSTIFY: UINT = MF_RIGHTJUSTIFY;
-pub const MFS_GRAYED: UINT = 0x00000003;
-pub const MFS_DISABLED: UINT = MFS_GRAYED;
-pub const MFS_CHECKED: UINT = MF_CHECKED;
-pub const MFS_HILITE: UINT = MF_HILITE;
-pub const MFS_ENABLED: UINT = MF_ENABLED;
-pub const MFS_UNCHECKED: UINT = MF_UNCHECKED;
-pub const MFS_UNHILITE: UINT = MF_UNHILITE;
-pub const MFS_DEFAULT: UINT = MF_DEFAULT;
-extern "system" {
- pub fn CheckMenuRadioItem(
- hMenu: HMENU,
- first: UINT,
- last: UINT,
- check: UINT,
- flags: UINT,
- ) -> BOOL;
-}
-//10225
-pub const SC_SIZE: WPARAM = 0xF000;
-pub const SC_MOVE: WPARAM = 0xF010;
-pub const SC_MINIMIZE: WPARAM = 0xF020;
-pub const SC_MAXIMIZE: WPARAM = 0xF030;
-pub const SC_NEXTWINDOW: WPARAM = 0xF040;
-pub const SC_PREVWINDOW: WPARAM = 0xF050;
-pub const SC_CLOSE: WPARAM = 0xF060;
-pub const SC_VSCROLL: WPARAM = 0xF070;
-pub const SC_HSCROLL: WPARAM = 0xF080;
-pub const SC_MOUSEMENU: WPARAM = 0xF090;
-pub const SC_KEYMENU: WPARAM = 0xF100;
-pub const SC_ARRANGE: WPARAM = 0xF110;
-pub const SC_RESTORE: WPARAM = 0xF120;
-pub const SC_TASKLIST: WPARAM = 0xF130;
-pub const SC_SCREENSAVE: WPARAM = 0xF140;
-pub const SC_HOTKEY: WPARAM = 0xF150;
-pub const SC_DEFAULT: WPARAM = 0xF160;
-pub const SC_MONITORPOWER: WPARAM = 0xF170;
-pub const SC_CONTEXTHELP: WPARAM = 0xF180;
-pub const SC_SEPARATOR: WPARAM = 0xF00F;
-//10269
-extern "system" {
- pub fn LoadBitmapA(
- hInstance: HINSTANCE,
- lpBitmapName: LPCSTR,
- ) -> HBITMAP;
- pub fn LoadBitmapW(
- hInstance: HINSTANCE,
- lpBitmapName: LPCWSTR,
- ) -> HBITMAP;
- pub fn LoadCursorA(
- hInstance: HINSTANCE,
- lpCursorName: LPCSTR,
- ) -> HCURSOR;
- pub fn LoadCursorW(
- hInstance: HINSTANCE,
- lpCursorName: LPCWSTR,
- ) -> HCURSOR;
- pub fn LoadCursorFromFileA(
- lpFileName: LPCSTR,
- ) -> HCURSOR;
- pub fn LoadCursorFromFileW(
- lpFileName: LPCWSTR,
- ) -> HCURSOR;
- pub fn CreateCursor(
- hInst: HINSTANCE,
- xHotSpot: c_int,
- yHotSpot: c_int,
- nWidth: c_int,
- nHeight: c_int,
- pvAndPlane: *const VOID,
- pvXORPlane: *const VOID,
- ) -> HCURSOR;
- pub fn DestroyCursor(
- hCursor: HCURSOR,
- ) -> BOOL;
-}
-//10355
-pub const IDC_ARROW: LPCWSTR = 32512 as LPCWSTR;
-pub const IDC_IBEAM: LPCWSTR = 32513 as LPCWSTR;
-pub const IDC_WAIT: LPCWSTR = 32514 as LPCWSTR;
-pub const IDC_CROSS: LPCWSTR = 32515 as LPCWSTR;
-pub const IDC_UPARROW: LPCWSTR = 32516 as LPCWSTR;
-pub const IDC_SIZE: LPCWSTR = 32640 as LPCWSTR;
-pub const IDC_ICON: LPCWSTR = 32641 as LPCWSTR;
-pub const IDC_SIZENWSE: LPCWSTR = 32642 as LPCWSTR;
-pub const IDC_SIZENESW: LPCWSTR = 32643 as LPCWSTR;
-pub const IDC_SIZEWE: LPCWSTR = 32644 as LPCWSTR;
-pub const IDC_SIZENS: LPCWSTR = 32645 as LPCWSTR;
-pub const IDC_SIZEALL: LPCWSTR = 32646 as LPCWSTR;
-pub const IDC_NO: LPCWSTR = 32648 as LPCWSTR;
-pub const IDC_HAND: LPCWSTR = 32649 as LPCWSTR;
-pub const IDC_APPSTARTING: LPCWSTR = 32650 as LPCWSTR;
-pub const IDC_HELP: LPCWSTR = 32651 as LPCWSTR;
-extern "system" {
- pub fn SetSystemCursor(
- hcur: HCURSOR,
- id: DWORD,
- ) -> BOOL;
-}
-STRUCT!{struct ICONINFO {
- fIcon: BOOL,
- xHotspot: DWORD,
- yHotspot: DWORD,
- hbmMask: HBITMAP,
- hbmColor: HBITMAP,
-}}
-pub type PICONINFO = *mut ICONINFO;
-extern "system" {
- pub fn LoadIconA(
- hInstance: HINSTANCE,
- lpIconName: LPCSTR,
- ) -> HICON;
- pub fn LoadIconW(
- hInstance: HINSTANCE,
- lpIconName: LPCWSTR,
- ) -> HICON;
-}
-//10449
-extern "system" {
- pub fn CreateIcon(
- hInstance: HINSTANCE,
- nWidth: c_int,
- nHeight: c_int,
- cPlanes: BYTE,
- cBitsPixel: BYTE,
- lpbANDbits: *const BYTE,
- lpbXORbits: *const BYTE,
- ) -> HICON;
- pub fn DestroyIcon(
- hIcon: HICON,
- ) -> BOOL;
- pub fn LookupIconIdFromDirectory(
- presbits: PBYTE,
- fIcon: BOOL,
- ) -> c_int;
- pub fn LookupIconIdFromDirectoryEx(
- presbits: PBYTE,
- fIcon: BOOL,
- cxDesired: c_int,
- cyDesired: c_int,
- Flags: UINT,
- ) -> c_int;
- pub fn CreateIconFromResource(
- presbits: PBYTE,
- dwResSize: DWORD,
- fIcon: BOOL,
- dwVer: DWORD,
- ) -> HICON;
- pub fn CreateIconFromResourceEx(
- presbits: PBYTE,
- dwResSize: DWORD,
- fIcon: BOOL,
- dwVer: DWORD,
- cxDesired: c_int,
- cyDesired: c_int,
- Flags: UINT,
- ) -> HICON;
-}
-//10524
-pub const IMAGE_BITMAP: UINT = 0;
-pub const IMAGE_ICON: UINT = 1;
-pub const IMAGE_CURSOR: UINT = 2;
-pub const IMAGE_ENHMETAFILE: UINT = 3;
-pub const LR_DEFAULTCOLOR: UINT = 0x00000000;
-pub const LR_MONOCHROME: UINT = 0x00000001;
-pub const LR_COLOR: UINT = 0x00000002;
-pub const LR_COPYRETURNORG: UINT = 0x00000004;
-pub const LR_COPYDELETEORG: UINT = 0x00000008;
-pub const LR_LOADFROMFILE: UINT = 0x00000010;
-pub const LR_LOADTRANSPARENT: UINT = 0x00000020;
-pub const LR_DEFAULTSIZE: UINT = 0x00000040;
-pub const LR_VGACOLOR: UINT = 0x00000080;
-pub const LR_LOADMAP3DCOLORS: UINT = 0x00001000;
-pub const LR_CREATEDIBSECTION: UINT = 0x00002000;
-pub const LR_COPYFROMRESOURCE: UINT = 0x00004000;
-pub const LR_SHARED: UINT = 0x00008000;
-extern "system" {
- pub fn LoadImageA(
- hInst: HINSTANCE,
- name: LPCSTR,
- type_: UINT,
- cx: c_int,
- cy: c_int,
- fuLoad: UINT,
- ) -> HANDLE;
- pub fn LoadImageW(
- hInst: HINSTANCE,
- name: LPCWSTR,
- type_: UINT,
- cx: c_int,
- cy: c_int,
- fuLoad: UINT,
- ) -> HANDLE;
- pub fn CopyImage(
- h: HANDLE,
- type_: UINT,
- cx: c_int,
- cy: c_int,
- flags: UINT,
- ) -> HANDLE;
-}
-//10592
-extern "system" {
- pub fn DrawIconEx(
- hdc: HDC,
- xLeft: c_int,
- yTop: c_int,
- hIcon: HICON,
- cxWidth: c_int,
- cyWidth: c_int,
- istepIfAniCur: UINT,
- hbrFlickerFreeDraw: HBRUSH,
- diFlags: UINT,
- ) -> BOOL;
- pub fn CreateIconIndirect(
- piconinfo: PICONINFO,
- ) -> HICON;
- pub fn CopyIcon(
- hIcon: HICON,
- ) -> HICON;
- pub fn GetIconInfo(
- hIcon: HICON,
- piconinfo: PICONINFO,
- ) -> BOOL;
-}
-//10781
-pub const IDI_APPLICATION: LPCWSTR = 32512 as LPCWSTR;
-pub const IDI_HAND: LPCWSTR = 32513 as LPCWSTR;
-pub const IDI_QUESTION: LPCWSTR = 32514 as LPCWSTR;
-pub const IDI_EXCLAMATION: LPCWSTR = 32515 as LPCWSTR;
-pub const IDI_ASTERISK: LPCWSTR = 32516 as LPCWSTR;
-pub const IDI_WINLOGO: LPCWSTR = 32517 as LPCWSTR;
-pub const IDI_SHIELD: LPCWSTR = 32518 as LPCWSTR;
-pub const IDI_WARNING: LPCWSTR = IDI_EXCLAMATION;
-pub const IDI_ERROR: LPCWSTR = IDI_HAND;
-pub const IDI_INFORMATION: LPCWSTR = IDI_ASTERISK;
-//10853
-pub const IDOK: c_int = 1;
-pub const IDCANCEL: c_int = 2;
-pub const IDABORT: c_int = 3;
-pub const IDRETRY: c_int = 4;
-pub const IDIGNORE: c_int = 5;
-pub const IDYES: c_int = 6;
-pub const IDNO: c_int = 7;
-pub const IDCLOSE: c_int = 8;
-pub const IDHELP: c_int = 9;
-pub const IDTRYAGAIN: c_int = 10;
-pub const IDCONTINUE: c_int = 11;
-pub const IDTIMEOUT: c_int = 32000;
-pub const ES_LEFT: DWORD = 0x0000;
-pub const ES_CENTER: DWORD = 0x0001;
-pub const ES_RIGHT: DWORD = 0x0002;
-pub const ES_MULTILINE: DWORD = 0x0004;
-pub const ES_UPPERCASE: DWORD = 0x0008;
-pub const ES_LOWERCASE: DWORD = 0x0010;
-pub const ES_PASSWORD: DWORD = 0x0020;
-pub const ES_AUTOVSCROLL: DWORD = 0x0040;
-pub const ES_AUTOHSCROLL: DWORD = 0x0080;
-pub const ES_NOHIDESEL: DWORD = 0x0100;
-pub const ES_OEMCONVERT: DWORD = 0x0400;
-pub const ES_READONLY: DWORD = 0x0800;
-pub const ES_WANTRETURN: DWORD = 0x1000;
-pub const ES_NUMBER: DWORD = 0x2000;
-pub const EN_SETFOCUS: WORD = 0x0100;
-pub const EN_KILLFOCUS: WORD = 0x0200;
-pub const EN_CHANGE: WORD = 0x0300;
-pub const EN_UPDATE: WORD = 0x0400;
-pub const EN_ERRSPACE: WORD = 0x0500;
-pub const EN_MAXTEXT: WORD = 0x0501;
-pub const EN_HSCROLL: WORD = 0x0601;
-pub const EN_VSCROLL: WORD = 0x0602;
-pub const EN_ALIGN_LTR_EC: WORD = 0x0700;
-pub const EN_ALIGN_RTL_EC: WORD = 0x0701;
-pub const EC_LEFTMARGIN: WORD = 0x0001;
-pub const EC_RIGHTMARGIN: WORD = 0x0002;
-pub const EC_USEFONTINFO: WORD = 0xffff;
-pub const EMSIS_COMPOSITIONSTRING: WORD = 0x0001;
-pub const EIMES_GETCOMPSTRATONCE: WORD = 0x0001;
-pub const EIMES_CANCELCOMPSTRINFOCUS: WORD = 0x0002;
-pub const EIMES_COMPLETECOMPSTRKILLFOCUS: WORD = 0x0004;
-pub const EM_GETSEL: WORD = 0x00B0;
-pub const EM_SETSEL: WORD = 0x00B1;
-pub const EM_GETRECT: WORD = 0x00B2;
-pub const EM_SETRECT: WORD = 0x00B3;
-pub const EM_SETRECTNP: WORD = 0x00B4;
-pub const EM_SCROLL: WORD = 0x00B5;
-pub const EM_LINESCROLL: WORD = 0x00B6;
-pub const EM_SCROLLCARET: WORD = 0x00B7;
-pub const EM_GETMODIFY: WORD = 0x00B8;
-pub const EM_SETMODIFY: WORD = 0x00B9;
-pub const EM_GETLINECOUNT: WORD = 0x00BA;
-pub const EM_LINEINDEX: WORD = 0x00BB;
-pub const EM_SETHANDLE: WORD = 0x00BC;
-pub const EM_GETHANDLE: WORD = 0x00BD;
-pub const EM_GETTHUMB: WORD = 0x00BE;
-pub const EM_LINELENGTH: WORD = 0x00C1;
-pub const EM_REPLACESEL: WORD = 0x00C2;
-pub const EM_GETLINE: WORD = 0x00C4;
-pub const EM_LIMITTEXT: WORD = 0x00C5;
-pub const EM_CANUNDO: WORD = 0x00C6;
-pub const EM_UNDO: WORD = 0x00C7;
-pub const EM_FMTLINES: WORD = 0x00C8;
-pub const EM_LINEFROMCHAR: WORD = 0x00C9;
-pub const EM_SETTABSTOPS: WORD = 0x00CB;
-pub const EM_SETPASSWORDCHAR: WORD = 0x00CC;
-pub const EM_EMPTYUNDOBUFFER: WORD = 0x00CD;
-pub const EM_GETFIRSTVISIBLELINE: WORD = 0x00CE;
-pub const EM_SETREADONLY: WORD = 0x00CF;
-pub const EM_SETWORDBREAKPROC: WORD = 0x00D0;
-pub const EM_GETWORDBREAKPROC: WORD = 0x00D1;
-pub const EM_GETPASSWORDCHAR: WORD = 0x00D2;
-pub const EM_SETMARGINS: WORD = 0x00D3;
-pub const EM_GETMARGINS: WORD = 0x00D4;
-pub const EM_SETLIMITTEXT: WORD = EM_LIMITTEXT;
-pub const EM_GETLIMITTEXT: WORD = 0x00D5;
-pub const EM_POSFROMCHAR: WORD = 0x00D6;
-pub const EM_CHARFROMPOS: WORD = 0x00D7;
-pub const EM_SETIMESTATUS: WORD = 0x00D8;
-pub const EM_GETIMESTATUS: WORD = 0x00D9;
-pub const WB_LEFT: WORD = 0;
-pub const WB_RIGHT: WORD = 1;
-pub const WB_ISDELIMITER: WORD = 2;
-pub const BN_CLICKED: WORD = 0;
-pub const BN_PAINT: WORD = 1;
-pub const BN_HILITE: WORD = 2;
-pub const BN_UNHILITE: WORD = 3;
-pub const BN_DISABLE: WORD = 4;
-pub const BN_DOUBLECLICKED: WORD = 5;
-pub const BN_PUSHED: WORD = BN_HILITE;
-pub const BN_UNPUSHED: WORD = BN_UNHILITE;
-pub const BN_DBLCLK: WORD = BN_DOUBLECLICKED;
-pub const BN_SETFOCUS: WORD = 6;
-pub const BN_KILLFOCUS: WORD = 7;
-pub const BS_PUSHBUTTON: DWORD = 0x00000000;
-pub const BS_DEFPUSHBUTTON: DWORD = 0x00000001;
-pub const BS_CHECKBOX: DWORD = 0x00000002;
-pub const BS_AUTOCHECKBOX: DWORD = 0x00000003;
-pub const BS_RADIOBUTTON: DWORD = 0x00000004;
-pub const BS_3STATE: DWORD = 0x00000005;
-pub const BS_AUTO3STATE: DWORD = 0x00000006;
-pub const BS_GROUPBOX: DWORD = 0x00000007;
-pub const BS_USERBUTTON: DWORD = 0x00000008;
-pub const BS_AUTORADIOBUTTON: DWORD = 0x00000009;
-pub const BS_PUSHBOX: DWORD = 0x0000000A;
-pub const BS_OWNERDRAW: DWORD = 0x0000000B;
-pub const BS_TYPEMASK: DWORD = 0x0000000F;
-pub const BS_LEFTTEXT: DWORD = 0x00000020;
-pub const BS_TEXT: DWORD = 0x00000000;
-pub const BS_ICON: DWORD = 0x00000040;
-pub const BS_BITMAP: DWORD = 0x00000080;
-pub const BS_LEFT: DWORD = 0x00000100;
-pub const BS_RIGHT: DWORD = 0x00000200;
-pub const BS_CENTER: DWORD = 0x00000300;
-pub const BS_TOP: DWORD = 0x00000400;
-pub const BS_BOTTOM: DWORD = 0x00000800;
-pub const BS_VCENTER: DWORD = 0x00000C00;
-pub const BS_PUSHLIKE: DWORD = 0x00001000;
-pub const BS_MULTILINE: DWORD = 0x00002000;
-pub const BS_NOTIFY: DWORD = 0x00004000;
-pub const BS_FLAT: DWORD = 0x00008000;
-pub const BS_RIGHTBUTTON: DWORD = BS_LEFTTEXT;
-pub const BM_GETCHECK: UINT = 0x00F0;
-pub const BM_SETCHECK: UINT = 0x00F1;
-pub const BM_GETSTATE: UINT = 0x00F2;
-pub const BM_SETSTATE: UINT = 0x00F3;
-pub const BM_SETSTYLE: UINT = 0x00F4;
-pub const BM_CLICK: UINT = 0x00F5;
-pub const BM_GETIMAGE: UINT = 0x00F6;
-pub const BM_SETIMAGE: UINT = 0x00F7;
-pub const BM_SETDONTCLICK: UINT = 0x00F8;
-pub const BST_UNCHECKED: WPARAM = 0x0000;
-pub const BST_CHECKED: WPARAM = 0x0001;
-pub const BST_INDETERMINATE: WPARAM = 0x0002;
-pub const BST_PUSHED: LRESULT = 0x0004;
-pub const BST_FOCUS: LRESULT = 0x0008;
-pub const SS_LEFT: DWORD = 0x00000000;
-pub const SS_CENTER: DWORD = 0x00000001;
-pub const SS_RIGHT: DWORD = 0x00000002;
-pub const SS_ICON: DWORD = 0x00000003;
-pub const SS_BLACKRECT: DWORD = 0x00000004;
-pub const SS_GRAYRECT: DWORD = 0x00000005;
-pub const SS_WHITERECT: DWORD = 0x00000006;
-pub const SS_BLACKFRAME: DWORD = 0x00000007;
-pub const SS_GRAYFRAME: DWORD = 0x00000008;
-pub const SS_WHITEFRAME: DWORD = 0x00000009;
-pub const SS_USERITEM: DWORD = 0x0000000A;
-pub const SS_SIMPLE: DWORD = 0x0000000B;
-pub const SS_LEFTNOWORDWRAP: DWORD = 0x0000000C;
-pub const SS_OWNERDRAW: DWORD = 0x0000000D;
-pub const SS_BITMAP: DWORD = 0x0000000E;
-pub const SS_ENHMETAFILE: DWORD = 0x0000000F;
-pub const SS_ETCHEDHORZ: DWORD = 0x00000010;
-pub const SS_ETCHEDVERT: DWORD = 0x00000011;
-pub const SS_ETCHEDFRAME: DWORD = 0x00000012;
-pub const SS_TYPEMASK: DWORD = 0x0000001F;
-pub const SS_REALSIZECONTROL: DWORD = 0x00000040;
-pub const SS_NOPREFIX: DWORD = 0x00000080;
-pub const SS_NOTIFY: DWORD = 0x00000100;
-pub const SS_CENTERIMAGE: DWORD = 0x00000200;
-pub const SS_RIGHTJUST: DWORD = 0x00000400;
-pub const SS_REALSIZEIMAGE: DWORD = 0x00000800;
-pub const SS_SUNKEN: DWORD = 0x00001000;
-pub const SS_EDITCONTROL: DWORD = 0x00002000;
-pub const SS_ENDELLIPSIS: DWORD = 0x00004000;
-pub const SS_PATHELLIPSIS: DWORD = 0x00008000;
-pub const SS_WORDELLIPSIS: DWORD = 0x0000C000;
-pub const SS_ELLIPSISMASK: DWORD = 0x0000C000;
-pub const STM_SETICON: UINT = 0x0170;
-pub const STM_GETICON: UINT = 0x0171;
-pub const STM_SETIMAGE: UINT = 0x0172;
-pub const STM_GETIMAGE: UINT = 0x0173;
-pub const STN_CLICKED: WORD = 0;
-pub const STN_DBLCLK: WORD = 1;
-pub const STN_ENABLE: WORD = 2;
-pub const STN_DISABLE: WORD = 3;
-pub const STM_MSGMAX: WORD = 0x0174;
-//11194
-extern "system" {
- pub fn IsDialogMessageA(
- hDlg: HWND,
- lpMsg: LPMSG,
- ) -> BOOL;
- pub fn IsDialogMessageW(
- hDlg: HWND,
- lpMsg: LPMSG,
- ) -> BOOL;
- pub fn MapDialogRect(
- hDlg: HWND,
- lpRect: LPRECT,
- ) -> BOOL;
- pub fn DlgDirListA(
- hDlg: HWND,
- lpPathSpec: LPSTR,
- nIDListBox: c_int,
- nIDStaticPath: c_int,
- uFileType: UINT,
- ) -> c_int;
- pub fn DlgDirListW(
- hDlg: HWND,
- lpPathSpec: LPWSTR,
- nIDListBox: c_int,
- nIDStaticPath: c_int,
- uFileType: UINT,
- ) -> c_int;
-}
-//11265
-extern "system" {
- pub fn DlgDirSelectExA(
- hwndDlg: HWND,
- lpString: LPSTR,
- chCount: c_int,
- idListBox: c_int,
- ) -> BOOL;
- pub fn DlgDirSelectExW(
- hwndDlg: HWND,
- lpString: LPWSTR,
- chCount: c_int,
- idListBox: c_int,
- ) -> BOOL;
- pub fn DlgDirListComboBoxA(
- hDlg: HWND,
- lpPathSpec: LPSTR,
- nIDComboBox: c_int,
- nIDStaticPath: c_int,
- uFiletype: UINT,
- ) -> c_int;
- pub fn DlgDirListComboBoxW(
- hDlg: HWND,
- lpPathSpec: LPWSTR,
- nIDComboBox: c_int,
- nIDStaticPath: c_int,
- uFiletype: UINT,
- ) -> c_int;
- pub fn DlgDirSelectComboBoxExA(
- hwndDlg: HWND,
- lpString: LPSTR,
- cchOut: c_int,
- idComboBox: c_int,
- ) -> BOOL;
- pub fn DlgDirSelectComboBoxExW(
- hwndDlg: HWND,
- lpString: LPWSTR,
- cchOut: c_int,
- idComboBox: c_int,
- ) -> BOOL;
-}
-pub const DS_ABSALIGN: DWORD = 0x01;
-pub const DS_SYSMODAL: DWORD = 0x02;
-pub const DS_LOCALEDIT: DWORD = 0x20;
-pub const DS_SETFONT: DWORD = 0x40;
-pub const DS_MODALFRAME: DWORD = 0x80;
-pub const DS_NOIDLEMSG: DWORD = 0x100;
-pub const DS_SETFOREGROUND: DWORD = 0x200;
-pub const DS_3DLOOK: DWORD = 0x0004;
-pub const DS_FIXEDSYS: DWORD = 0x0008;
-pub const DS_NOFAILCREATE: DWORD = 0x0010;
-pub const DS_CONTROL: DWORD = 0x0400;
-pub const DS_CENTER: DWORD = 0x0800;
-pub const DS_CENTERMOUSE: DWORD = 0x1000;
-pub const DS_CONTEXTHELP: DWORD = 0x2000;
-pub const DS_SHELLFONT: DWORD = DS_SETFONT | DS_FIXEDSYS;
-pub const DS_USEPIXELS: DWORD = 0x8000;
-pub const DM_GETDEFID: UINT = WM_USER + 0;
-pub const DM_SETDEFID: UINT = WM_USER + 1;
-pub const DM_REPOSITION: UINT = WM_USER + 2;
-pub const DC_HASDEFID: WORD = 0x534B;
-pub const DLGC_WANTARROWS: LRESULT = 0x0001;
-pub const DLGC_WANTTAB: LRESULT = 0x0002;
-pub const DLGC_WANTALLKEYS: LRESULT = 0x0004;
-pub const DLGC_WANTMESSAGE: LRESULT = 0x0004;
-pub const DLGC_HASSETSEL: LRESULT = 0x0008;
-pub const DLGC_DEFPUSHBUTTON: LRESULT = 0x0010;
-pub const DLGC_UNDEFPUSHBUTTON: LRESULT = 0x0020;
-pub const DLGC_RADIOBUTTON: LRESULT = 0x0040;
-pub const DLGC_WANTCHARS: LRESULT = 0x0080;
-pub const DLGC_STATIC: LRESULT = 0x0100;
-pub const DLGC_BUTTON: LRESULT = 0x2000;
-pub const LB_OKAY: LRESULT = 0;
-pub const LB_ERR: LRESULT = -1;
-pub const LB_ERRSPACE: LRESULT = -2;
-pub const LBN_ERRSPACE: WORD = -2i16 as u16;
-pub const LBN_SELCHANGE: WORD = 1;
-pub const LBN_DBLCLK: WORD = 2;
-pub const LBN_SELCANCEL: WORD = 3;
-pub const LBN_SETFOCUS: WORD = 4;
-pub const LBN_KILLFOCUS: WORD = 5;
-pub const LB_ADDSTRING: UINT = 0x0180;
-pub const LB_INSERTSTRING: UINT = 0x0181;
-pub const LB_DELETESTRING: UINT = 0x0182;
-pub const LB_SELITEMRANGEEX: UINT = 0x0183;
-pub const LB_RESETCONTENT: UINT = 0x0184;
-pub const LB_SETSEL: UINT = 0x0185;
-pub const LB_SETCURSEL: UINT = 0x0186;
-pub const LB_GETSEL: UINT = 0x0187;
-pub const LB_GETCURSEL: UINT = 0x0188;
-pub const LB_GETTEXT: UINT = 0x0189;
-pub const LB_GETTEXTLEN: UINT = 0x018A;
-pub const LB_GETCOUNT: UINT = 0x018B;
-pub const LB_SELECTSTRING: UINT = 0x018C;
-pub const LB_DIR: UINT = 0x018D;
-pub const LB_GETTOPINDEX: UINT = 0x018E;
-pub const LB_FINDSTRING: UINT = 0x018F;
-pub const LB_GETSELCOUNT: UINT = 0x0190;
-pub const LB_GETSELITEMS: UINT = 0x0191;
-pub const LB_SETTABSTOPS: UINT = 0x0192;
-pub const LB_GETHORIZONTALEXTENT: UINT = 0x0193;
-pub const LB_SETHORIZONTALEXTENT: UINT = 0x0194;
-pub const LB_SETCOLUMNWIDTH: UINT = 0x0195;
-pub const LB_ADDFILE: UINT = 0x0196;
-pub const LB_SETTOPINDEX: UINT = 0x0197;
-pub const LB_GETITEMRECT: UINT = 0x0198;
-pub const LB_GETITEMDATA: UINT = 0x0199;
-pub const LB_SETITEMDATA: UINT = 0x019A;
-pub const LB_SELITEMRANGE: UINT = 0x019B;
-pub const LB_SETANCHORINDEX: UINT = 0x019C;
-pub const LB_GETANCHORINDEX: UINT = 0x019D;
-pub const LB_SETCARETINDEX: UINT = 0x019E;
-pub const LB_GETCARETINDEX: UINT = 0x019F;
-pub const LB_SETITEMHEIGHT: UINT = 0x01A0;
-pub const LB_GETITEMHEIGHT: UINT = 0x01A1;
-pub const LB_FINDSTRINGEXACT: UINT = 0x01A2;
-pub const LB_SETLOCALE: UINT = 0x01A5;
-pub const LB_GETLOCALE: UINT = 0x01A6;
-pub const LB_SETCOUNT: UINT = 0x01A7;
-pub const LB_INITSTORAGE: UINT = 0x01A8;
-pub const LB_ITEMFROMPOINT: UINT = 0x01A9;
-pub const LB_MULTIPLEADDSTRING: UINT = 0x01B1;
-pub const LB_GETLISTBOXINFO: UINT = 0x01B2;
-pub const LB_MSGMAX: UINT = 0x01B3;
-pub const LBS_NOTIFY: DWORD = 0x0001;
-pub const LBS_SORT: DWORD = 0x0002;
-pub const LBS_NOREDRAW: DWORD = 0x0004;
-pub const LBS_MULTIPLESEL: DWORD = 0x0008;
-pub const LBS_OWNERDRAWFIXED: DWORD = 0x0010;
-pub const LBS_OWNERDRAWVARIABLE: DWORD = 0x0020;
-pub const LBS_HASSTRINGS: DWORD = 0x0040;
-pub const LBS_USETABSTOPS: DWORD = 0x0080;
-pub const LBS_NOINTEGRALHEIGHT: DWORD = 0x0100;
-pub const LBS_MULTICOLUMN: DWORD = 0x0200;
-pub const LBS_WANTKEYBOARDINPUT: DWORD = 0x0400;
-pub const LBS_EXTENDEDSEL: DWORD = 0x0800;
-pub const LBS_DISABLENOSCROLL: DWORD = 0x1000;
-pub const LBS_NODATA: DWORD = 0x2000;
-pub const LBS_NOSEL: DWORD = 0x4000;
-pub const LBS_COMBOBOX: DWORD = 0x8000;
-pub const LBS_STANDARD: DWORD = LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER;
-pub const CB_OKAY: LRESULT = 0;
-pub const CB_ERR: LRESULT = -1;
-pub const CB_ERRSPACE: LRESULT = -2;
-pub const CBN_ERRSPACE: WORD = -1i16 as u16;
-pub const CBN_SELCHANGE: WORD = 1;
-pub const CBN_DBLCLK: WORD = 2;
-pub const CBN_SETFOCUS: WORD = 3;
-pub const CBN_KILLFOCUS: WORD = 4;
-pub const CBN_EDITCHANGE: WORD = 5;
-pub const CBN_EDITUPDATE: WORD = 6;
-pub const CBN_DROPDOWN: WORD = 7;
-pub const CBN_CLOSEUP: WORD = 8;
-pub const CBN_SELENDOK: WORD = 9;
-pub const CBN_SELENDCANCEL: WORD = 10;
-pub const CBS_SIMPLE: DWORD = 0x0001;
-pub const CBS_DROPDOWN: DWORD = 0x0002;
-pub const CBS_DROPDOWNLIST: DWORD = 0x0003;
-pub const CBS_OWNERDRAWFIXED: DWORD = 0x0010;
-pub const CBS_OWNERDRAWVARIABLE: DWORD = 0x0020;
-pub const CBS_AUTOHSCROLL: DWORD = 0x0040;
-pub const CBS_OEMCONVERT: DWORD = 0x0080;
-pub const CBS_SORT: DWORD = 0x0100;
-pub const CBS_HASSTRINGS: DWORD = 0x0200;
-pub const CBS_NOINTEGRALHEIGHT: DWORD = 0x0400;
-pub const CBS_DISABLENOSCROLL: DWORD = 0x0800;
-pub const CBS_UPPERCASE: DWORD = 0x2000;
-pub const CBS_LOWERCASE: DWORD = 0x4000;
-//11571
-pub const CB_GETEDITSEL: UINT = 0x0140;
-pub const CB_LIMITTEXT: UINT = 0x0141;
-pub const CB_SETEDITSEL: UINT = 0x0142;
-pub const CB_ADDSTRING: UINT = 0x0143;
-pub const CB_DELETESTRING: UINT = 0x0144;
-pub const CB_DIR: UINT = 0x0145;
-pub const CB_GETCOUNT: UINT = 0x0146;
-pub const CB_GETCURSEL: UINT = 0x0147;
-pub const CB_GETLBTEXT: UINT = 0x0148;
-pub const CB_GETLBTEXTLEN: UINT = 0x0149;
-pub const CB_INSERTSTRING: UINT = 0x014A;
-pub const CB_RESETCONTENT: UINT = 0x014B;
-pub const CB_FINDSTRING: UINT = 0x014C;
-pub const CB_SELECTSTRING: UINT = 0x014D;
-pub const CB_SETCURSEL: UINT = 0x014E;
-pub const CB_SHOWDROPDOWN: UINT = 0x014F;
-pub const CB_GETITEMDATA: UINT = 0x0150;
-pub const CB_SETITEMDATA: UINT = 0x0151;
-pub const CB_GETDROPPEDCONTROLRECT: UINT = 0x0152;
-pub const CB_SETITEMHEIGHT: UINT = 0x0153;
-pub const CB_GETITEMHEIGHT: UINT = 0x0154;
-pub const CB_SETEXTENDEDUI: UINT = 0x0155;
-pub const CB_GETEXTENDEDUI: UINT = 0x0156;
-pub const CB_GETDROPPEDSTATE: UINT = 0x0157;
-pub const CB_FINDSTRINGEXACT: UINT = 0x0158;
-pub const CB_SETLOCALE: UINT = 0x0159;
-pub const CB_GETLOCALE: UINT = 0x015A;
-pub const CB_GETTOPINDEX: UINT = 0x015b;
-pub const CB_SETTOPINDEX: UINT = 0x015c;
-pub const CB_GETHORIZONTALEXTENT: UINT = 0x015d;
-pub const CB_SETHORIZONTALEXTENT: UINT = 0x015e;
-pub const CB_GETDROPPEDWIDTH: UINT = 0x015f;
-pub const CB_SETDROPPEDWIDTH: UINT = 0x0160;
-pub const CB_INITSTORAGE: UINT = 0x0161;
-pub const CB_MULTIPLEADDSTRING: UINT = 0x0163;
-pub const CB_GETCOMBOBOXINFO: UINT = 0x0164;
-pub const CB_MSGMAX: UINT = 0x0165;
-pub const SBS_HORZ: DWORD = 0x0000;
-pub const SBS_VERT: DWORD = 0x0001;
-pub const SBS_TOPALIGN: DWORD = 0x0002;
-pub const SBS_LEFTALIGN: DWORD = 0x0002;
-pub const SBS_BOTTOMALIGN: DWORD = 0x0004;
-pub const SBS_RIGHTALIGN: DWORD = 0x0004;
-pub const SBS_SIZEBOXTOPLEFTALIGN: DWORD = 0x0002;
-pub const SBS_SIZEBOXBOTTOMRIGHTALIGN: DWORD = 0x0004;
-pub const SBS_SIZEBOX: DWORD = 0x0008;
-pub const SBS_SIZEGRIP: DWORD = 0x0010;
-pub const SBM_SETPOS: UINT = 0x00E0;
-pub const SBM_GETPOS: UINT = 0x00E1;
-pub const SBM_SETRANGE: UINT = 0x00E2;
-pub const SBM_SETRANGEREDRAW: UINT = 0x00E6;
-pub const SBM_GETRANGE: UINT = 0x00E3;
-pub const SBM_ENABLE_ARROWS: UINT = 0x00E4;
-pub const SBM_SETSCROLLINFO: UINT = 0x00E9;
-pub const SBM_GETSCROLLINFO: UINT = 0x00EA;
-pub const SBM_GETSCROLLBARINFO: UINT = 0x00EB;
-pub const SIF_RANGE: UINT = 0x0001;
-pub const SIF_PAGE: UINT = 0x0002;
-pub const SIF_POS: UINT = 0x0004;
-pub const SIF_DISABLENOSCROLL: UINT = 0x0008;
-pub const SIF_TRACKPOS: UINT = 0x0010;
-pub const SIF_ALL: UINT = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS;
-STRUCT!{struct SCROLLINFO {
- cbSize: UINT,
- fMask: UINT,
- nMin: c_int,
- nMax: c_int,
- nPage: UINT,
- nPos: c_int,
- nTrackPos: c_int,
-}}
-pub type LPSCROLLINFO = *mut SCROLLINFO;
-pub type LPCSCROLLINFO = *const SCROLLINFO;
-extern "system" {
- pub fn SetScrollInfo(
- hwnd: HWND,
- nBar: c_int,
- lpsi: *const SCROLLINFO,
- redraw: BOOL,
- ) -> c_int;
- pub fn GetScrollInfo(
- hwnd: HWND,
- nBar: c_int,
- lpsi: *mut SCROLLINFO,
- ) -> BOOL;
-}
-pub const MDITILE_VERTICAL: UINT = 0x0000;
-pub const MDITILE_HORIZONTAL: UINT = 0x0001;
-pub const MDITILE_SKIPDISABLED: UINT = 0x0002;
-pub const MDITILE_ZORDER: UINT = 0x0004;
-//11776
-extern "system" {
- pub fn DefFrameProcA(
- hwnd: HWND,
- hwndMDIClient: HWND,
- uMsg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn DefFrameProcW(
- hwnd: HWND,
- hwndMDIClient: HWND,
- uMsg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn DefMDIChildProcA(
- hwnd: HWND,
- uMsg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn DefMDIChildProcW(
- hwnd: HWND,
- uMsg: UINT,
- wParam: WPARAM,
- lParam: LPARAM,
- ) -> LRESULT;
- pub fn ArrangeIconicWindows(
- hWnd: HWND,
- ) -> UINT;
- pub fn CreateMDIWindowA(
- lpClassName: LPCSTR,
- lpWindowName: LPCSTR,
- dwStyle: DWORD,
- X: c_int,
- Y: c_int,
- nWidth: c_int,
- nHeight: c_int,
- hWndParent: HWND,
- hInstance: HINSTANCE,
- lParam: LPARAM,
- ) -> HWND;
- pub fn CreateMDIWindowW(
- lpClassName: LPCWSTR,
- lpWindowName: LPCWSTR,
- dwStyle: DWORD,
- X: c_int,
- Y: c_int,
- nWidth: c_int,
- nHeight: c_int,
- hWndParent: HWND,
- hInstance: HINSTANCE,
- lParam: LPARAM,
- ) -> HWND;
- pub fn CascadeWindows(
- hwndParent: HWND,
- wHow: UINT,
- lpRect: *const RECT,
- cKids: UINT,
- lpKids: *const HWND,
- ) -> WORD;
-}
-//12016
-extern "system" {
- pub fn WinHelpA(
- hWndMain: HWND,
- lpszHelp: LPCSTR,
- uCommand: UINT,
- dwData: ULONG_PTR,
- ) -> BOOL;
- pub fn WinHelpW(
- hWndMain: HWND,
- lpszHelp: LPCWSTR,
- uCommand: UINT,
- dwData: ULONG_PTR,
- ) -> BOOL;
-}
-//12083
-pub const SPI_GETBEEP: UINT = 0x0001;
-pub const SPI_SETBEEP: UINT = 0x0002;
-pub const SPI_GETMOUSE: UINT = 0x0003;
-pub const SPI_SETMOUSE: UINT = 0x0004;
-pub const SPI_GETBORDER: UINT = 0x0005;
-pub const SPI_SETBORDER: UINT = 0x0006;
-pub const SPI_GETKEYBOARDSPEED: UINT = 0x000A;
-pub const SPI_SETKEYBOARDSPEED: UINT = 0x000B;
-pub const SPI_LANGDRIVER: UINT = 0x000C;
-pub const SPI_ICONHORIZONTALSPACING: UINT = 0x000D;
-pub const SPI_GETSCREENSAVETIMEOUT: UINT = 0x000E;
-pub const SPI_SETSCREENSAVETIMEOUT: UINT = 0x000F;
-pub const SPI_GETSCREENSAVEACTIVE: UINT = 0x0010;
-pub const SPI_SETSCREENSAVEACTIVE: UINT = 0x0011;
-pub const SPI_GETGRIDGRANULARITY: UINT = 0x0012;
-pub const SPI_SETGRIDGRANULARITY: UINT = 0x0013;
-pub const SPI_SETDESKWALLPAPER: UINT = 0x0014;
-pub const SPI_SETDESKPATTERN: UINT = 0x0015;
-pub const SPI_GETKEYBOARDDELAY: UINT = 0x0016;
-pub const SPI_SETKEYBOARDDELAY: UINT = 0x0017;
-pub const SPI_ICONVERTICALSPACING: UINT = 0x0018;
-pub const SPI_GETICONTITLEWRAP: UINT = 0x0019;
-pub const SPI_SETICONTITLEWRAP: UINT = 0x001A;
-pub const SPI_GETMENUDROPALIGNMENT: UINT = 0x001B;
-pub const SPI_SETMENUDROPALIGNMENT: UINT = 0x001C;
-pub const SPI_SETDOUBLECLKWIDTH: UINT = 0x001D;
-pub const SPI_SETDOUBLECLKHEIGHT: UINT = 0x001E;
-pub const SPI_GETICONTITLELOGFONT: UINT = 0x001F;
-pub const SPI_SETDOUBLECLICKTIME: UINT = 0x0020;
-pub const SPI_SETMOUSEBUTTONSWAP: UINT = 0x0021;
-pub const SPI_SETICONTITLELOGFONT: UINT = 0x0022;
-pub const SPI_GETFASTTASKSWITCH: UINT = 0x0023;
-pub const SPI_SETFASTTASKSWITCH: UINT = 0x0024;
-pub const SPI_SETDRAGFULLWINDOWS: UINT = 0x0025;
-pub const SPI_GETDRAGFULLWINDOWS: UINT = 0x0026;
-pub const SPI_GETNONCLIENTMETRICS: UINT = 0x0029;
-pub const SPI_SETNONCLIENTMETRICS: UINT = 0x002A;
-pub const SPI_GETMINIMIZEDMETRICS: UINT = 0x002B;
-pub const SPI_SETMINIMIZEDMETRICS: UINT = 0x002C;
-pub const SPI_GETICONMETRICS: UINT = 0x002D;
-pub const SPI_SETICONMETRICS: UINT = 0x002E;
-pub const SPI_SETWORKAREA: UINT = 0x002F;
-pub const SPI_GETWORKAREA: UINT = 0x0030;
-pub const SPI_SETPENWINDOWS: UINT = 0x0031;
-pub const SPI_GETHIGHCONTRAST: UINT = 0x0042;
-pub const SPI_SETHIGHCONTRAST: UINT = 0x0043;
-pub const SPI_GETKEYBOARDPREF: UINT = 0x0044;
-pub const SPI_SETKEYBOARDPREF: UINT = 0x0045;
-pub const SPI_GETSCREENREADER: UINT = 0x0046;
-pub const SPI_SETSCREENREADER: UINT = 0x0047;
-pub const SPI_GETANIMATION: UINT = 0x0048;
-pub const SPI_SETANIMATION: UINT = 0x0049;
-pub const SPI_GETFONTSMOOTHING: UINT = 0x004A;
-pub const SPI_SETFONTSMOOTHING: UINT = 0x004B;
-pub const SPI_SETDRAGWIDTH: UINT = 0x004C;
-pub const SPI_SETDRAGHEIGHT: UINT = 0x004D;
-pub const SPI_SETHANDHELD: UINT = 0x004E;
-pub const SPI_GETLOWPOWERTIMEOUT: UINT = 0x004F;
-pub const SPI_GETPOWEROFFTIMEOUT: UINT = 0x0050;
-pub const SPI_SETLOWPOWERTIMEOUT: UINT = 0x0051;
-pub const SPI_SETPOWEROFFTIMEOUT: UINT = 0x0052;
-pub const SPI_GETLOWPOWERACTIVE: UINT = 0x0053;
-pub const SPI_GETPOWEROFFACTIVE: UINT = 0x0054;
-pub const SPI_SETLOWPOWERACTIVE: UINT = 0x0055;
-pub const SPI_SETPOWEROFFACTIVE: UINT = 0x0056;
-pub const SPI_SETCURSORS: UINT = 0x0057;
-pub const SPI_SETICONS: UINT = 0x0058;
-pub const SPI_GETDEFAULTINPUTLANG: UINT = 0x0059;
-pub const SPI_SETDEFAULTINPUTLANG: UINT = 0x005A;
-pub const SPI_SETLANGTOGGLE: UINT = 0x005B;
-pub const SPI_GETWINDOWSEXTENSION: UINT = 0x005C;
-pub const SPI_SETMOUSETRAILS: UINT = 0x005D;
-pub const SPI_GETMOUSETRAILS: UINT = 0x005E;
-pub const SPI_SETSCREENSAVERRUNNING: UINT = 0x0061;
-pub const SPI_SCREENSAVERRUNNING: UINT = SPI_SETSCREENSAVERRUNNING;
-pub const SPI_GETFILTERKEYS: UINT = 0x0032;
-pub const SPI_SETFILTERKEYS: UINT = 0x0033;
-pub const SPI_GETTOGGLEKEYS: UINT = 0x0034;
-pub const SPI_SETTOGGLEKEYS: UINT = 0x0035;
-pub const SPI_GETMOUSEKEYS: UINT = 0x0036;
-pub const SPI_SETMOUSEKEYS: UINT = 0x0037;
-pub const SPI_GETSHOWSOUNDS: UINT = 0x0038;
-pub const SPI_SETSHOWSOUNDS: UINT = 0x0039;
-pub const SPI_GETSTICKYKEYS: UINT = 0x003A;
-pub const SPI_SETSTICKYKEYS: UINT = 0x003B;
-pub const SPI_GETACCESSTIMEOUT: UINT = 0x003C;
-pub const SPI_SETACCESSTIMEOUT: UINT = 0x003D;
-pub const SPI_GETSERIALKEYS: UINT = 0x003E;
-pub const SPI_SETSERIALKEYS: UINT = 0x003F;
-pub const SPI_GETSOUNDSENTRY: UINT = 0x0040;
-pub const SPI_SETSOUNDSENTRY: UINT = 0x0041;
-pub const SPI_GETSNAPTODEFBUTTON: UINT = 0x005F;
-pub const SPI_SETSNAPTODEFBUTTON: UINT = 0x0060;
-pub const SPI_GETMOUSEHOVERWIDTH: UINT = 0x0062;
-pub const SPI_SETMOUSEHOVERWIDTH: UINT = 0x0063;
-pub const SPI_GETMOUSEHOVERHEIGHT: UINT = 0x0064;
-pub const SPI_SETMOUSEHOVERHEIGHT: UINT = 0x0065;
-pub const SPI_GETMOUSEHOVERTIME: UINT = 0x0066;
-pub const SPI_SETMOUSEHOVERTIME: UINT = 0x0067;
-pub const SPI_GETWHEELSCROLLLINES: UINT = 0x0068;
-pub const SPI_SETWHEELSCROLLLINES: UINT = 0x0069;
-pub const SPI_GETMENUSHOWDELAY: UINT = 0x006A;
-pub const SPI_SETMENUSHOWDELAY: UINT = 0x006B;
-pub const SPI_GETWHEELSCROLLCHARS: UINT = 0x006C;
-pub const SPI_SETWHEELSCROLLCHARS: UINT = 0x006D;
-pub const SPI_GETSHOWIMEUI: UINT = 0x006E;
-pub const SPI_SETSHOWIMEUI: UINT = 0x006F;
-pub const SPI_GETMOUSESPEED: UINT = 0x0070;
-pub const SPI_SETMOUSESPEED: UINT = 0x0071;
-pub const SPI_GETSCREENSAVERRUNNING: UINT = 0x0072;
-pub const SPI_GETDESKWALLPAPER: UINT = 0x0073;
-pub const SPI_GETAUDIODESCRIPTION: UINT = 0x0074;
-pub const SPI_SETAUDIODESCRIPTION: UINT = 0x0075;
-pub const SPI_GETSCREENSAVESECURE: UINT = 0x0076;
-pub const SPI_SETSCREENSAVESECURE: UINT = 0x0077;
-pub const SPI_GETHUNGAPPTIMEOUT: UINT = 0x0078;
-pub const SPI_SETHUNGAPPTIMEOUT: UINT = 0x0079;
-pub const SPI_GETWAITTOKILLTIMEOUT: UINT = 0x007A;
-pub const SPI_SETWAITTOKILLTIMEOUT: UINT = 0x007B;
-pub const SPI_GETWAITTOKILLSERVICETIMEOUT: UINT = 0x007C;
-pub const SPI_SETWAITTOKILLSERVICETIMEOUT: UINT = 0x007D;
-pub const SPI_GETMOUSEDOCKTHRESHOLD: UINT = 0x007E;
-pub const SPI_SETMOUSEDOCKTHRESHOLD: UINT = 0x007F;
-pub const SPI_GETPENDOCKTHRESHOLD: UINT = 0x0080;
-pub const SPI_SETPENDOCKTHRESHOLD: UINT = 0x0081;
-pub const SPI_GETWINARRANGING: UINT = 0x0082;
-pub const SPI_SETWINARRANGING: UINT = 0x0083;
-pub const SPI_GETMOUSEDRAGOUTTHRESHOLD: UINT = 0x0084;
-pub const SPI_SETMOUSEDRAGOUTTHRESHOLD: UINT = 0x0085;
-pub const SPI_GETPENDRAGOUTTHRESHOLD: UINT = 0x0086;
-pub const SPI_SETPENDRAGOUTTHRESHOLD: UINT = 0x0087;
-pub const SPI_GETMOUSESIDEMOVETHRESHOLD: UINT = 0x0088;
-pub const SPI_SETMOUSESIDEMOVETHRESHOLD: UINT = 0x0089;
-pub const SPI_GETPENSIDEMOVETHRESHOLD: UINT = 0x008A;
-pub const SPI_SETPENSIDEMOVETHRESHOLD: UINT = 0x008B;
-pub const SPI_GETDRAGFROMMAXIMIZE: UINT = 0x008C;
-pub const SPI_SETDRAGFROMMAXIMIZE: UINT = 0x008D;
-pub const SPI_GETSNAPSIZING: UINT = 0x008E;
-pub const SPI_SETSNAPSIZING: UINT = 0x008F;
-pub const SPI_GETDOCKMOVING: UINT = 0x0090;
-pub const SPI_SETDOCKMOVING: UINT = 0x0091;
-pub const SPI_GETACTIVEWINDOWTRACKING: UINT = 0x1000;
-pub const SPI_SETACTIVEWINDOWTRACKING: UINT = 0x1001;
-pub const SPI_GETMENUANIMATION: UINT = 0x1002;
-pub const SPI_SETMENUANIMATION: UINT = 0x1003;
-pub const SPI_GETCOMBOBOXANIMATION: UINT = 0x1004;
-pub const SPI_SETCOMBOBOXANIMATION: UINT = 0x1005;
-pub const SPI_GETLISTBOXSMOOTHSCROLLING: UINT = 0x1006;
-pub const SPI_SETLISTBOXSMOOTHSCROLLING: UINT = 0x1007;
-pub const SPI_GETGRADIENTCAPTIONS: UINT = 0x1008;
-pub const SPI_SETGRADIENTCAPTIONS: UINT = 0x1009;
-pub const SPI_GETKEYBOARDCUES: UINT = 0x100A;
-pub const SPI_SETKEYBOARDCUES: UINT = 0x100B;
-pub const SPI_GETMENUUNDERLINES: UINT = SPI_GETKEYBOARDCUES;
-pub const SPI_SETMENUUNDERLINES: UINT = SPI_SETKEYBOARDCUES;
-pub const SPI_GETACTIVEWNDTRKZORDER: UINT = 0x100C;
-pub const SPI_SETACTIVEWNDTRKZORDER: UINT = 0x100D;
-pub const SPI_GETHOTTRACKING: UINT = 0x100E;
-pub const SPI_SETHOTTRACKING: UINT = 0x100F;
-pub const SPI_GETMENUFADE: UINT = 0x1012;
-pub const SPI_SETMENUFADE: UINT = 0x1013;
-pub const SPI_GETSELECTIONFADE: UINT = 0x1014;
-pub const SPI_SETSELECTIONFADE: UINT = 0x1015;
-pub const SPI_GETTOOLTIPANIMATION: UINT = 0x1016;
-pub const SPI_SETTOOLTIPANIMATION: UINT = 0x1017;
-pub const SPI_GETTOOLTIPFADE: UINT = 0x1018;
-pub const SPI_SETTOOLTIPFADE: UINT = 0x1019;
-pub const SPI_GETCURSORSHADOW: UINT = 0x101A;
-pub const SPI_SETCURSORSHADOW: UINT = 0x101B;
-pub const SPI_GETMOUSESONAR: UINT = 0x101C;
-pub const SPI_SETMOUSESONAR: UINT = 0x101D;
-pub const SPI_GETMOUSECLICKLOCK: UINT = 0x101E;
-pub const SPI_SETMOUSECLICKLOCK: UINT = 0x101F;
-pub const SPI_GETMOUSEVANISH: UINT = 0x1020;
-pub const SPI_SETMOUSEVANISH: UINT = 0x1021;
-pub const SPI_GETFLATMENU: UINT = 0x1022;
-pub const SPI_SETFLATMENU: UINT = 0x1023;
-pub const SPI_GETDROPSHADOW: UINT = 0x1024;
-pub const SPI_SETDROPSHADOW: UINT = 0x1025;
-pub const SPI_GETBLOCKSENDINPUTRESETS: UINT = 0x1026;
-pub const SPI_SETBLOCKSENDINPUTRESETS: UINT = 0x1027;
-pub const SPI_GETUIEFFECTS: UINT = 0x103E;
-pub const SPI_SETUIEFFECTS: UINT = 0x103F;
-pub const SPI_GETDISABLEOVERLAPPEDCONTENT: UINT = 0x1040;
-pub const SPI_SETDISABLEOVERLAPPEDCONTENT: UINT = 0x1041;
-pub const SPI_GETCLIENTAREAANIMATION: UINT = 0x1042;
-pub const SPI_SETCLIENTAREAANIMATION: UINT = 0x1043;
-pub const SPI_GETCLEARTYPE: UINT = 0x1048;
-pub const SPI_SETCLEARTYPE: UINT = 0x1049;
-pub const SPI_GETSPEECHRECOGNITION: UINT = 0x104A;
-pub const SPI_SETSPEECHRECOGNITION: UINT = 0x104B;
-pub const SPI_GETFOREGROUNDLOCKTIMEOUT: UINT = 0x2000;
-pub const SPI_SETFOREGROUNDLOCKTIMEOUT: UINT = 0x2001;
-pub const SPI_GETACTIVEWNDTRKTIMEOUT: UINT = 0x2002;
-pub const SPI_SETACTIVEWNDTRKTIMEOUT: UINT = 0x2003;
-pub const SPI_GETFOREGROUNDFLASHCOUNT: UINT = 0x2004;
-pub const SPI_SETFOREGROUNDFLASHCOUNT: UINT = 0x2005;
-pub const SPI_GETCARETWIDTH: UINT = 0x2006;
-pub const SPI_SETCARETWIDTH: UINT = 0x2007;
-pub const SPI_GETMOUSECLICKLOCKTIME: UINT = 0x2008;
-pub const SPI_SETMOUSECLICKLOCKTIME: UINT = 0x2009;
-pub const SPI_GETFONTSMOOTHINGTYPE: UINT = 0x200A;
-pub const SPI_SETFONTSMOOTHINGTYPE: UINT = 0x200B;
-pub const FE_FONTSMOOTHINGSTANDARD: UINT = 0x0001;
-pub const FE_FONTSMOOTHINGCLEARTYPE: UINT = 0x0002;
-pub const SPI_GETFONTSMOOTHINGCONTRAST: UINT = 0x200C;
-pub const SPI_SETFONTSMOOTHINGCONTRAST: UINT = 0x200D;
-pub const SPI_GETFOCUSBORDERWIDTH: UINT = 0x200E;
-pub const SPI_SETFOCUSBORDERWIDTH: UINT = 0x200F;
-pub const SPI_GETFOCUSBORDERHEIGHT: UINT = 0x2010;
-pub const SPI_SETFOCUSBORDERHEIGHT: UINT = 0x2011;
-pub const SPI_GETFONTSMOOTHINGORIENTATION: UINT = 0x2012;
-pub const SPI_SETFONTSMOOTHINGORIENTATION: UINT = 0x2013;
-pub const FE_FONTSMOOTHINGORIENTATIONBGR: UINT = 0x0000;
-pub const FE_FONTSMOOTHINGORIENTATIONRGB: UINT = 0x0001;
-pub const SPI_GETMINIMUMHITRADIUS: UINT = 0x2014;
-pub const SPI_SETMINIMUMHITRADIUS: UINT = 0x2015;
-pub const SPI_GETMESSAGEDURATION: UINT = 0x2016;
-pub const SPI_SETMESSAGEDURATION: UINT = 0x2017;
-//12472
-pub const SPIF_UPDATEINIFILE: UINT = 0x0001;
-pub const SPIF_SENDWININICHANGE: UINT = 0x0002;
-pub const SPIF_SENDCHANGE: UINT = SPIF_SENDWININICHANGE;
-//12484
-STRUCT!{struct NONCLIENTMETRICSA {
- cbSize: UINT,
- iBorderWidth: c_int,
- iScrollWidth: c_int,
- iScrollHeight: c_int,
- iCaptionWidth: c_int,
- iCaptionHeight: c_int,
- lfCaptionFont: LOGFONTA,
- iSmCaptionWidth: c_int,
- iSmCaptionHeight: c_int,
- lfSmCaptionFont: LOGFONTA,
- iMenuWidth: c_int,
- iMenuHeight: c_int,
- lfMenuFont: LOGFONTA,
- lfStatusFont: LOGFONTA,
- lfMessageFont: LOGFONTA,
- iPaddedBorderWidth: c_int,
-}}
-pub type LPNONCLIENTMETRICSA = *mut NONCLIENTMETRICSA;
-STRUCT!{struct NONCLIENTMETRICSW {
- cbSize: UINT,
- iBorderWidth: c_int,
- iScrollWidth: c_int,
- iScrollHeight: c_int,
- iCaptionWidth: c_int,
- iCaptionHeight: c_int,
- lfCaptionFont: LOGFONTW,
- iSmCaptionWidth: c_int,
- iSmCaptionHeight: c_int,
- lfSmCaptionFont: LOGFONTW,
- iMenuWidth: c_int,
- iMenuHeight: c_int,
- lfMenuFont: LOGFONTW,
- lfStatusFont: LOGFONTW,
- lfMessageFont: LOGFONTW,
- iPaddedBorderWidth: c_int,
-}}
-pub type LPNONCLIENTMETRICSW = *mut NONCLIENTMETRICSW;
-//12598
-STRUCT!{struct ANIMATIONINFO {
- cbSize: UINT,
- iMinAnimate: c_int,
-}}
-pub type LPANIMATIONINFO = *mut ANIMATIONINFO;
-//12638
-STRUCT!{struct HIGHCONTRASTA {
- cbSize: UINT,
- dwFlags: DWORD,
- lpszDefaultScheme: LPSTR,
-}}
-pub type LPHIGHCONTRASTA = *mut HIGHCONTRASTA;
-STRUCT!{struct HIGHCONTRASTW {
- cbSize: UINT,
- dwFlags: DWORD,
- lpszDefaultScheme: LPWSTR,
-}}
-pub type LPHIGHCONTRASTW = *mut HIGHCONTRASTW;
-pub const HCF_HIGHCONTRASTON: DWORD = 0x00000001;
-pub const HCF_AVAILABLE: DWORD = 0x00000002;
-pub const HCF_HOTKEYACTIVE: DWORD = 0x00000004;
-pub const HCF_CONFIRMHOTKEY: DWORD = 0x00000008;
-pub const HCF_HOTKEYSOUND: DWORD = 0x00000010;
-pub const HCF_INDICATOR: DWORD = 0x00000020;
-pub const HCF_HOTKEYAVAILABLE: DWORD = 0x00000040;
-pub const HCF_LOGONDESKTOP: DWORD = 0x00000100;
-pub const HCF_DEFAULTDESKTOP: DWORD = 0x00000200;
-pub const CDS_UPDATEREGISTRY: DWORD = 0x00000001;
-pub const CDS_TEST: DWORD = 0x00000002;
-pub const CDS_FULLSCREEN: DWORD = 0x00000004;
-pub const CDS_GLOBAL: DWORD = 0x00000008;
-pub const CDS_SET_PRIMARY: DWORD = 0x00000010;
-pub const CDS_VIDEOPARAMETERS: DWORD = 0x00000020;
-pub const CDS_ENABLE_UNSAFE_MODES: DWORD = 0x00000100;
-pub const CDS_DISABLE_UNSAFE_MODES: DWORD = 0x00000200;
-pub const CDS_RESET: DWORD = 0x40000000;
-pub const CDS_RESET_EX: DWORD = 0x20000000;
-pub const CDS_NORESET: DWORD = 0x10000000;
-pub const DISP_CHANGE_SUCCESSFUL: LONG = 0;
-pub const DISP_CHANGE_RESTART: LONG = 1;
-pub const DISP_CHANGE_FAILED: LONG = -1;
-pub const DISP_CHANGE_BADMODE: LONG = -2;
-pub const DISP_CHANGE_NOTUPDATED: LONG = -3;
-pub const DISP_CHANGE_BADFLAGS: LONG = -4;
-pub const DISP_CHANGE_BADPARAM: LONG = -5;
-pub const DISP_CHANGE_BADDUALVIEW: LONG = -6;
-extern "system" {
- pub fn ChangeDisplaySettingsA(
- lpDevMode: *mut DEVMODEA,
- dwFlags: DWORD,
- ) -> LONG;
- pub fn ChangeDisplaySettingsW(
- lpDevMode: *mut DEVMODEW,
- dwFlags: DWORD,
- ) -> LONG;
- pub fn ChangeDisplaySettingsExA(
- lpszDeviceName: LPCSTR,
- lpDevMode: *mut DEVMODEA,
- hwnd: HWND,
- dwFlags: DWORD,
- lParam: LPVOID,
- ) -> LONG;
- pub fn ChangeDisplaySettingsExW(
- lpszDeviceName: LPCWSTR,
- lpDevMode: *mut DEVMODEW,
- hwnd: HWND,
- dwFlags: DWORD,
- lParam: LPVOID,
- ) -> LONG;
-}
-pub const ENUM_CURRENT_SETTINGS: DWORD = 0xFFFFFFFF;
-pub const ENUM_REGISTRY_SETTINGS: DWORD = 0xFFFFFFFE;
-extern "system" {
- pub fn EnumDisplaySettingsA(
- lpszDeviceName: LPCSTR,
- iModeNum: DWORD,
- lpDevMode: *mut DEVMODEA,
- ) -> BOOL;
- pub fn EnumDisplaySettingsW(
- lpszDeviceName: LPCWSTR,
- iModeNum: DWORD,
- lpDevMode: *mut DEVMODEW,
- ) -> BOOL;
- pub fn EnumDisplaySettingsExA(
- lpszDeviceName: LPCSTR,
- iModeNum: DWORD,
- lpDevMode: *mut DEVMODEA,
- dwFlags: DWORD,
- ) -> BOOL;
- pub fn EnumDisplaySettingsExW(
- lpszDeviceName: LPCWSTR,
- iModeNum: DWORD,
- lpDevMode: *mut DEVMODEW,
- dwFlags: DWORD,
- ) -> BOOL;
-}
-pub const EDS_RAWMODE: DWORD = 0x00000002;
-pub const EDS_ROTATEDMODE: DWORD = 0x00000004;
-extern "system" {
- pub fn EnumDisplayDevicesA(
- lpDevice: LPCSTR,
- iDevNum: DWORD,
- lpDisplayDevice: PDISPLAY_DEVICEA,
- dwFlags: DWORD,
- ) -> BOOL;
- pub fn EnumDisplayDevicesW(
- lpDevice: LPCWSTR,
- iDevNum: DWORD,
- lpDisplayDevice: PDISPLAY_DEVICEW,
- dwFlags: DWORD,
- ) -> BOOL;
-}
-pub const EDD_GET_DEVICE_INTERFACE_NAME: DWORD = 0x00000001;
-extern "system" {
- pub fn SystemParametersInfoA(
- uiAction: UINT,
- uiParam: UINT,
- pvParam: PVOID,
- fWinIni: UINT,
- ) -> BOOL;
- pub fn SystemParametersInfoW(
- uiAction: UINT,
- uiParam: UINT,
- pvParam: PVOID,
- fWinIni: UINT,
- ) -> BOOL;
- pub fn SystemParametersInfoForDpi(
- uiAction: UINT,
- uiParam: UINT,
- pvParam: PVOID,
- fWinIni: UINT,
- dpi: UINT,
- ) -> BOOL;
-}
-//13191
-extern "system" {
- pub fn SetLastErrorEx(
- dwErrCode: DWORD,
- dwType: DWORD,
- );
- pub fn InternalGetWindowText(
- hWnd: HWND,
- pString: LPWSTR,
- cchMaxCount: c_int,
- ) -> c_int;
- pub fn EndTask(
- hWnd: HWND,
- fShutDown: BOOL,
- fForce: BOOL,
- ) -> BOOL;
- pub fn CancelShutdown() -> BOOL;
-}
-pub const MONITOR_DEFAULTTONULL: DWORD = 0x00000000;
-pub const MONITOR_DEFAULTTOPRIMARY: DWORD = 0x00000001;
-pub const MONITOR_DEFAULTTONEAREST: DWORD = 0x00000002;
-extern "system" {
- pub fn MonitorFromPoint(
- pt: POINT,
- dwFlags: DWORD,
- ) -> HMONITOR;
- pub fn MonitorFromRect(
- lprc: LPCRECT,
- dwFlags: DWORD,
- ) -> HMONITOR;
- pub fn MonitorFromWindow(
- hwnd: HWND,
- dwFlags: DWORD,
- ) -> HMONITOR;
-}
-pub const MONITORINFOF_PRIMARY: DWORD = 1;
-pub const CCHDEVICENAME: usize = 32;
-STRUCT!{struct MONITORINFO {
- cbSize: DWORD,
- rcMonitor: RECT,
- rcWork: RECT,
- dwFlags: DWORD,
-}}
-pub type LPMONITORINFO = *mut MONITORINFO;
-STRUCT!{struct MONITORINFOEXA {
- cbSize: DWORD,
- rcMonitor: RECT,
- rcWork: RECT,
- dwFlags: DWORD,
- szDevice: [CHAR; CCHDEVICENAME],
-}}
-pub type LPMONITORINFOEXA = *mut MONITORINFOEXA;
-STRUCT!{struct MONITORINFOEXW {
- cbSize: DWORD,
- rcMonitor: RECT,
- rcWork: RECT,
- dwFlags: DWORD,
- szDevice: [WCHAR; CCHDEVICENAME],
-}}
-pub type LPMONITORINFOEXW = *mut MONITORINFOEXW;
-extern "system" {
- pub fn GetMonitorInfoA(
- hMonitor: HMONITOR,
- lpmi: LPMONITORINFO,
- ) -> BOOL;
- pub fn GetMonitorInfoW(
- hMonitor: HMONITOR,
- lpmi: LPMONITORINFO,
- ) -> BOOL;
-}
-FN!{stdcall MONITORENUMPROC(
- HMONITOR,
- HDC,
- LPRECT,
- LPARAM,
-) -> BOOL}
-extern "system" {
- pub fn EnumDisplayMonitors(
- hdc: HDC,
- lprcClip: LPCRECT,
- lpfnEnum: MONITORENUMPROC,
- dwData: LPARAM,
- ) -> BOOL;
- pub fn NotifyWinEvent(
- event: DWORD,
- hwnd: HWND,
- idObject: LONG,
- idChild: LONG,
- );
-}
-FN!{stdcall WINEVENTPROC(
- HWINEVENTHOOK,
- DWORD,
- HWND,
- LONG,
- LONG,
- DWORD,
- DWORD,
-) -> ()}
-extern "system" {
- pub fn SetWinEventHook(
- eventMin: DWORD,
- eventMax: DWORD,
- hmodWinEventProc: HMODULE,
- pfnWinEventProc: WINEVENTPROC,
- idProcess: DWORD,
- idThread: DWORD,
- dwFlags: DWORD,
- ) -> HWINEVENTHOOK;
- pub fn IsWinEventHookInstalled(
- event: DWORD,
- ) -> BOOL;
-}
-pub const WINEVENT_OUTOFCONTEXT: UINT = 0x0000;
-pub const WINEVENT_SKIPOWNTHREAD: UINT = 0x0001;
-pub const WINEVENT_SKIPOWNPROCESS: UINT = 0x0002;
-pub const WINEVENT_INCONTEXT: UINT = 0x0004;
-extern "system" {
- pub fn UnhookWinEvent(
- hWinEventHook: HWINEVENTHOOK,
- ) -> BOOL;
-}
-pub const CHILDID_SELF: LONG = 0;
-pub const INDEXID_OBJECT: LONG = 0;
-pub const INDEXID_CONTAINER: LONG = 0;
-pub const OBJID_WINDOW: LONG = 0x0000;
-pub const OBJID_SYSMENU: LONG = 0xFFFFFFFF;
-pub const OBJID_TITLEBAR: LONG = 0xFFFFFFFE;
-pub const OBJID_MENU: LONG = 0xFFFFFFFD;
-pub const OBJID_CLIENT: LONG = 0xFFFFFFFC;
-pub const OBJID_VSCROLL: LONG = 0xFFFFFFFB;
-pub const OBJID_HSCROLL: LONG = 0xFFFFFFFA;
-pub const OBJID_SIZEGRIP: LONG = 0xFFFFFFF9;
-pub const OBJID_CARET: LONG = 0xFFFFFFF8;
-pub const OBJID_CURSOR: LONG = 0xFFFFFFF7;
-pub const OBJID_ALERT: LONG = 0xFFFFFFF6;
-pub const OBJID_SOUND: LONG = 0xFFFFFFF5;
-pub const OBJID_QUERYCLASSNAMEIDX: LONG = 0xFFFFFFF4;
-pub const OBJID_NATIVEOM: LONG = 0xFFFFFFF0;
-pub const EVENT_MIN: UINT = 0x0001;
-pub const EVENT_MAX: UINT = 0x7FFFFFFF;
-pub const EVENT_SYSTEM_SOUND: UINT = 0x0001;
-pub const EVENT_SYSTEM_ALERT: UINT = 0x0002;
-pub const EVENT_SYSTEM_FOREGROUND: UINT = 0x0003;
-pub const EVENT_SYSTEM_MENUSTART: UINT = 0x0004;
-pub const EVENT_SYSTEM_MENUEND: UINT = 0x0005;
-pub const EVENT_SYSTEM_MENUPOPUPSTART: UINT = 0x0006;
-pub const EVENT_SYSTEM_MENUPOPUPEND: UINT = 0x0007;
-pub const EVENT_SYSTEM_CAPTURESTART: UINT = 0x0008;
-pub const EVENT_SYSTEM_CAPTUREEND: UINT = 0x0009;
-pub const EVENT_SYSTEM_MOVESIZESTART: UINT = 0x000A;
-pub const EVENT_SYSTEM_MOVESIZEEND: UINT = 0x000B;
-pub const EVENT_SYSTEM_CONTEXTHELPSTART: UINT = 0x000C;
-pub const EVENT_SYSTEM_CONTEXTHELPEND: UINT = 0x000D;
-pub const EVENT_SYSTEM_DRAGDROPSTART: UINT = 0x000E;
-pub const EVENT_SYSTEM_DRAGDROPEND: UINT = 0x000F;
-pub const EVENT_SYSTEM_DIALOGSTART: UINT = 0x0010;
-pub const EVENT_SYSTEM_DIALOGEND: UINT = 0x0011;
-pub const EVENT_SYSTEM_SCROLLINGSTART: UINT = 0x0012;
-pub const EVENT_SYSTEM_SCROLLINGEND: UINT = 0x0013;
-pub const EVENT_SYSTEM_SWITCHSTART: UINT = 0x0014;
-pub const EVENT_SYSTEM_SWITCHEND: UINT = 0x0015;
-pub const EVENT_SYSTEM_MINIMIZESTART: UINT = 0x0016;
-pub const EVENT_SYSTEM_MINIMIZEEND: UINT = 0x0017;
-pub const EVENT_SYSTEM_DESKTOPSWITCH: UINT = 0x0020;
-pub const EVENT_SYSTEM_SWITCHER_APPGRABBED: UINT = 0x0024;
-pub const EVENT_SYSTEM_SWITCHER_APPOVERTARGET: UINT = 0x0025;
-pub const EVENT_SYSTEM_SWITCHER_APPDROPPED: UINT = 0x0026;
-pub const EVENT_SYSTEM_SWITCHER_CANCELLED: UINT = 0x0027;
-pub const EVENT_SYSTEM_IME_KEY_NOTIFICATION: UINT = 0x0029;
-pub const EVENT_SYSTEM_END: UINT = 0x00FF;
-pub const EVENT_OEM_DEFINED_START: UINT = 0x0101;
-pub const EVENT_OEM_DEFINED_END: UINT = 0x01FF;
-pub const EVENT_UIA_EVENTID_START: UINT = 0x4E00;
-pub const EVENT_UIA_EVENTID_END: UINT = 0x4EFF;
-pub const EVENT_UIA_PROPID_START: UINT = 0x7500;
-pub const EVENT_UIA_PROPID_END: UINT = 0x75FF;
-pub const EVENT_CONSOLE_CARET: UINT = 0x4001;
-pub const EVENT_CONSOLE_UPDATE_REGION: UINT = 0x4002;
-pub const EVENT_CONSOLE_UPDATE_SIMPLE: UINT = 0x4003;
-pub const EVENT_CONSOLE_UPDATE_SCROLL: UINT = 0x4004;
-pub const EVENT_CONSOLE_LAYOUT: UINT = 0x4005;
-pub const EVENT_CONSOLE_START_APPLICATION: UINT = 0x4006;
-pub const EVENT_CONSOLE_END_APPLICATION: UINT = 0x4007;
-#[cfg(target_pointer_width = "64")]
-pub const CONSOLE_APPLICATION_16BIT: LONG = 0x0000;
-#[cfg(target_pointer_width = "32")]
-pub const CONSOLE_APPLICATION_16BIT: LONG = 0x0001;
-pub const CONSOLE_CARET_SELECTION: LONG = 0x0001;
-pub const CONSOLE_CARET_VISIBLE: LONG = 0x0002;
-pub const EVENT_CONSOLE_END: UINT = 0x40FF;
-pub const EVENT_OBJECT_CREATE: UINT = 0x8000;
-pub const EVENT_OBJECT_DESTROY: UINT = 0x8001;
-pub const EVENT_OBJECT_SHOW: UINT = 0x8002;
-pub const EVENT_OBJECT_HIDE: UINT = 0x8003;
-pub const EVENT_OBJECT_REORDER: UINT = 0x8004;
-pub const EVENT_OBJECT_FOCUS: UINT = 0x8005;
-pub const EVENT_OBJECT_SELECTION: UINT = 0x8006;
-pub const EVENT_OBJECT_SELECTIONADD: UINT = 0x8007;
-pub const EVENT_OBJECT_SELECTIONREMOVE: UINT = 0x8008;
-pub const EVENT_OBJECT_SELECTIONWITHIN: UINT = 0x8009;
-pub const EVENT_OBJECT_STATECHANGE: UINT = 0x800A;
-pub const EVENT_OBJECT_LOCATIONCHANGE: UINT = 0x800B;
-pub const EVENT_OBJECT_NAMECHANGE: UINT = 0x800C;
-pub const EVENT_OBJECT_DESCRIPTIONCHANGE: UINT = 0x800D;
-pub const EVENT_OBJECT_VALUECHANGE: UINT = 0x800E;
-pub const EVENT_OBJECT_PARENTCHANGE: UINT = 0x800F;
-pub const EVENT_OBJECT_HELPCHANGE: UINT = 0x8010;
-pub const EVENT_OBJECT_DEFACTIONCHANGE: UINT = 0x8011;
-pub const EVENT_OBJECT_ACCELERATORCHANGE: UINT = 0x8012;
-pub const EVENT_OBJECT_INVOKED: UINT = 0x8013;
-pub const EVENT_OBJECT_TEXTSELECTIONCHANGED: UINT = 0x8014;
-pub const EVENT_OBJECT_CONTENTSCROLLED: UINT = 0x8015;
-pub const EVENT_SYSTEM_ARRANGMENTPREVIEW: UINT = 0x8016;
-pub const EVENT_OBJECT_CLOAKED: UINT = 0x8017;
-pub const EVENT_OBJECT_UNCLOAKED: UINT = 0x8018;
-pub const EVENT_OBJECT_LIVEREGIONCHANGED: UINT = 0x8019;
-pub const EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED: UINT = 0x8020;
-pub const EVENT_OBJECT_DRAGSTART: UINT = 0x8021;
-pub const EVENT_OBJECT_DRAGCANCEL: UINT = 0x8022;
-pub const EVENT_OBJECT_DRAGCOMPLETE: UINT = 0x8023;
-pub const EVENT_OBJECT_DRAGENTER: UINT = 0x8024;
-pub const EVENT_OBJECT_DRAGLEAVE: UINT = 0x8025;
-pub const EVENT_OBJECT_DRAGDROPPED: UINT = 0x8026;
-pub const EVENT_OBJECT_IME_SHOW: UINT = 0x8027;
-pub const EVENT_OBJECT_IME_HIDE: UINT = 0x8028;
-pub const EVENT_OBJECT_IME_CHANGE: UINT = 0x8029;
-pub const EVENT_OBJECT_TEXTEDIT_CONVERSIONTARGETCHANGED: UINT = 0x8030;
-pub const EVENT_OBJECT_END: UINT = 0x80FF;
-pub const EVENT_AIA_START: UINT = 0xA000;
-pub const EVENT_AIA_END: UINT = 0xAFFF;
-pub const ALERT_SYSTEM_INFORMATIONAL: LONG = 1;
-pub const ALERT_SYSTEM_WARNING: LONG = 2;
-pub const ALERT_SYSTEM_ERROR: LONG = 3;
-pub const ALERT_SYSTEM_QUERY: LONG = 4;
-pub const ALERT_SYSTEM_CRITICAL: LONG = 5;
-pub const CALERT_SYSTEM: LONG = 6;
-STRUCT!{struct GUITHREADINFO {
- cbSize: DWORD,
- flags: DWORD,
- hwndActive: HWND,
- hwndFocus: HWND,
- hwndCapture: HWND,
- hwndMenuOwner: HWND,
- hwndMoveSize: HWND,
- hwndCaret: HWND,
- rcCaret: RECT,
-}}
-pub type PGUITHREADINFO = *mut GUITHREADINFO;
-pub type LPGUITHREADINFO = *mut GUITHREADINFO;
-pub const GUI_CARETBLINKING: DWORD = 0x00000001;
-pub const GUI_INMOVESIZE: DWORD = 0x00000002;
-pub const GUI_INMENUMODE: DWORD = 0x00000004;
-pub const GUI_SYSTEMMENUMODE: DWORD = 0x00000008;
-pub const GUI_POPUPMENUMODE: DWORD = 0x00000010;
-#[cfg(target_arch = "x86_64")]
-pub const GUI_16BITTASK: DWORD = 0x00000000;
-#[cfg(target_arch = "x86")]
-pub const GUI_16BITTASK: DWORD = 0x00000020;
-extern "system" {
- pub fn GetGUIThreadInfo(
- idThread: DWORD,
- pgui: PGUITHREADINFO,
- ) -> BOOL;
- pub fn BlockInput(
- fBlockIt: BOOL,
- ) -> BOOL;
-}
-pub const USER_DEFAULT_SCREEN_DPI: LONG = 96;
-extern "system" {
- pub fn SetProcessDPIAware() -> BOOL;
- pub fn IsProcessDPIAware() -> BOOL;
- pub fn SetThreadDpiAwarenessContext(
- dpiContext: DPI_AWARENESS_CONTEXT,
- ) -> DPI_AWARENESS_CONTEXT;
- pub fn GetThreadDpiAwarenessContext() -> DPI_AWARENESS_CONTEXT;
- pub fn GetWindowDpiAwarenessContext(
- hwnd: HWND,
- ) -> DPI_AWARENESS_CONTEXT;
- pub fn GetAwarenessFromDpiAwarenessContext(
- value: DPI_AWARENESS_CONTEXT,
- ) -> DPI_AWARENESS;
- pub fn GetDpiFromDpiAwarenessContext(
- value: DPI_AWARENESS_CONTEXT,
- ) -> UINT;
- pub fn AreDpiAwarenessContextsEqual(
- dpiContextA: DPI_AWARENESS_CONTEXT,
- dpiContextB: DPI_AWARENESS_CONTEXT,
- ) -> BOOL;
- pub fn IsValidDpiAwarenessContext(
- value: DPI_AWARENESS_CONTEXT,
- ) -> BOOL;
- pub fn GetDpiForWindow(
- hwnd: HWND,
- ) -> UINT;
- pub fn GetDpiForSystem() -> UINT;
- pub fn GetSystemDpiForProcess(
- hProcess: HANDLE,
- ) -> UINT;
- pub fn EnableNonClientDpiScaling(
- hwnd: HWND,
- ) -> BOOL;
- pub fn SetProcessDpiAwarenessContext(
- value: DPI_AWARENESS_CONTEXT,
- ) -> BOOL;
- pub fn SetThreadDpiHostingBehavior(
- value: DPI_HOSTING_BEHAVIOR,
- ) -> DPI_HOSTING_BEHAVIOR;
- pub fn GetThreadDpiHostingBehavior() -> DPI_HOSTING_BEHAVIOR;
- pub fn GetWindowDpiHostingBehavior(
- hwnd: HWND,
- ) -> DPI_HOSTING_BEHAVIOR;
- pub fn GetWindowModuleFileNameA(
- hWnd: HWND,
- lpszFileName: LPCSTR,
- cchFileNameMax: UINT,
- ) -> UINT;
- pub fn GetWindowModuleFileNameW(
- hWnd: HWND,
- lpszFileName: LPWSTR,
- cchFileNameMax: UINT,
- ) -> UINT;
-}
-pub const STATE_SYSTEM_UNAVAILABLE: DWORD = 0x00000001;
-pub const STATE_SYSTEM_SELECTED: DWORD = 0x00000002;
-pub const STATE_SYSTEM_FOCUSED: DWORD = 0x00000004;
-pub const STATE_SYSTEM_PRESSED: DWORD = 0x00000008;
-pub const STATE_SYSTEM_CHECKED: DWORD = 0x00000010;
-pub const STATE_SYSTEM_MIXED: DWORD = 0x00000020;
-pub const STATE_SYSTEM_INDETERMINATE: DWORD = STATE_SYSTEM_MIXED;
-pub const STATE_SYSTEM_READONLY: DWORD = 0x00000040;
-pub const STATE_SYSTEM_HOTTRACKED: DWORD = 0x00000080;
-pub const STATE_SYSTEM_DEFAULT: DWORD = 0x00000100;
-pub const STATE_SYSTEM_EXPANDED: DWORD = 0x00000200;
-pub const STATE_SYSTEM_COLLAPSED: DWORD = 0x00000400;
-pub const STATE_SYSTEM_BUSY: DWORD = 0x00000800;
-pub const STATE_SYSTEM_FLOATING: DWORD = 0x00001000;
-pub const STATE_SYSTEM_MARQUEED: DWORD = 0x00002000;
-pub const STATE_SYSTEM_ANIMATED: DWORD = 0x00004000;
-pub const STATE_SYSTEM_INVISIBLE: DWORD = 0x00008000;
-pub const STATE_SYSTEM_OFFSCREEN: DWORD = 0x00010000;
-pub const STATE_SYSTEM_SIZEABLE: DWORD = 0x00020000;
-pub const STATE_SYSTEM_MOVEABLE: DWORD = 0x00040000;
-pub const STATE_SYSTEM_SELFVOICING: DWORD = 0x00080000;
-pub const STATE_SYSTEM_FOCUSABLE: DWORD = 0x00100000;
-pub const STATE_SYSTEM_SELECTABLE: DWORD = 0x00200000;
-pub const STATE_SYSTEM_LINKED: DWORD = 0x00400000;
-pub const STATE_SYSTEM_TRAVERSED: DWORD = 0x00800000;
-pub const STATE_SYSTEM_MULTISELECTABLE: DWORD = 0x01000000;
-pub const STATE_SYSTEM_EXTSELECTABLE: DWORD = 0x02000000;
-pub const STATE_SYSTEM_ALERT_LOW: DWORD = 0x04000000;
-pub const STATE_SYSTEM_ALERT_MEDIUM: DWORD = 0x08000000;
-pub const STATE_SYSTEM_ALERT_HIGH: DWORD = 0x10000000;
-pub const STATE_SYSTEM_PROTECTED: DWORD = 0x20000000;
-pub const STATE_SYSTEM_VALID: DWORD = 0x3fffffff;
-pub const CCHILDREN_TITLEBAR: usize = 5;
-pub const CCHILDREN_SCROLLBAR: usize = 5;
-STRUCT!{struct CURSORINFO {
- cbSize: DWORD,
- flags: DWORD,
- hCursor: HCURSOR,
- ptScreenPos: POINT,
-}}
-pub type PCURSORINFO = *mut CURSORINFO;
-pub type LPCURSORINFO = *mut CURSORINFO;
-pub const CURSOR_SHOWING: DWORD = 0x00000001;
-pub const CURSOR_SUPPRESSED: DWORD = 0x00000002;
-extern "system" {
- pub fn GetCursorInfo(
- pci: PCURSORINFO,
- ) -> BOOL;
-}
-STRUCT!{struct WINDOWINFO {
- cbSize: DWORD,
- rcWindow: RECT,
- rcClient: RECT,
- dwStyle: DWORD,
- dwExStyle: DWORD,
- dwWindowStatus: DWORD,
- cxWindowBorders: UINT,
- cyWindowBorders: UINT,
- atomWindowType: ATOM,
- wCreatorVersion: WORD,
-}}
-pub type PWINDOWINFO = *mut WINDOWINFO;
-pub type LPWINDOWINFO = *mut WINDOWINFO;
-pub const WS_ACTIVECAPTION: DWORD = 0x0001;
-extern "system" {
- pub fn GetWindowInfo(
- hwnd: HWND,
- pwi: PWINDOWINFO,
- ) -> BOOL;
-}
-STRUCT!{struct TITLEBARINFO {
- cbSize: DWORD,
- rcTitleBar: RECT,
- rgstate: [DWORD; CCHILDREN_TITLEBAR + 1],
-}}
-pub type PTITLEBARINFO = *mut TITLEBARINFO;
-pub type LPTITLEBARINFO = *mut TITLEBARINFO;
-extern "system" {
- pub fn GetTitleBarInfo(
- hwnd: HWND,
- pti: PTITLEBARINFO,
- ) -> BOOL;
-}
-STRUCT!{struct TITLEBARINFOEX {
- cbSize: DWORD,
- rcTitleBar: RECT,
- rgstate: [DWORD; CCHILDREN_TITLEBAR + 1],
- rgrect: [RECT; CCHILDREN_TITLEBAR + 1],
-}}
-pub type PTITLEBARINFOEX = *mut TITLEBARINFOEX;
-pub type LPTITLEBARINFOEX = *mut TITLEBARINFOEX;
-STRUCT!{struct MENUBARINFO {
- cbSize: DWORD,
- rcBar: RECT,
- hMenu: HMENU,
- hwndMenu: HWND,
- BitFields: BOOL,
-}}
-BITFIELD!{MENUBARINFO BitFields: BOOL [
- fBarFocused set_fBarFocused[0..1],
- fFocused set_fFocused[1..2],
-]}
-pub type PMENUBARINFO = *mut MENUBARINFO;
-pub type LPMENUBARINFO = *mut MENUBARINFO;
-extern "system" {
- pub fn GetMenuBarInfo(
- hwnd: HWND,
- idObject: LONG,
- idItem: LONG,
- pmbi: PMENUBARINFO,
- ) -> BOOL;
-}
-STRUCT!{struct SCROLLBARINFO {
- cbSize: DWORD,
- rcScrollBar: RECT,
- dxyLineButton: c_int,
- xyThumbTop: c_int,
- xyThumbBottom: c_int,
- reserved: c_int,
- rgstate: [DWORD; CCHILDREN_SCROLLBAR + 1],
-}}
-pub type PSCROLLBARINFO = *mut SCROLLBARINFO;
-pub type LPSCROLLBARINFO = *mut SCROLLBARINFO;
-extern "system" {
- pub fn GetScrollBarInfo(
- hwnd: HWND,
- idObject: LONG,
- psbi: PSCROLLBARINFO,
- ) -> BOOL;
-}
-STRUCT!{struct COMBOBOXINFO {
- cbSize: DWORD,
- rcItem: RECT,
- rcButton: RECT,
- stateButton: DWORD,
- hwndCombo: HWND,
- hwndItem: HWND,
- hwndList: HWND,
-}}
-pub type PCOMBOBOXINFO = *mut COMBOBOXINFO;
-pub type LPCOMBOBOXINFO = *mut COMBOBOXINFO;
-extern "system" {
- pub fn GetComboBoxInfo(
- hwndCombo: HWND,
- pcbi: PCOMBOBOXINFO,
- ) -> BOOL;
-}
-pub const GA_PARENT: UINT = 1;
-pub const GA_ROOT: UINT = 2;
-pub const GA_ROOTOWNER: UINT = 3;
-extern "system" {
- pub fn GetAncestor(
- hwnd: HWND,
- gaFlags: UINT,
- ) -> HWND;
- pub fn RealChildWindowFromPoint(
- hwndParent: HWND,
- ptParentClientCoords: POINT,
- ) -> HWND;
- pub fn RealGetWindowClassA(
- hwnd: HWND,
- ptszClassName: LPSTR,
- cchClassNameMax: UINT,
- ) -> UINT;
- pub fn RealGetWindowClassW(
- hwnd: HWND,
- ptszClassName: LPWSTR,
- cchClassNameMax: UINT,
- ) -> UINT;
-}
-STRUCT!{struct ALTTABINFO {
- cbSize: DWORD,
- cItems: c_int,
- cColumns: c_int,
- cRows: c_int,
- iColFocus: c_int,
- iRowFocus: c_int,
- cxItem: c_int,
- cyItem: c_int,
- ptStart: POINT,
-}}
-pub type PALTTABINFO = *mut ALTTABINFO;
-pub type LPALTTABINFO = *mut ALTTABINFO;
-extern "system" {
- pub fn GetAltTabInfoA(
- hwnd: HWND,
- iItem: c_int,
- pati: PALTTABINFO,
- pszItemText: LPSTR,
- cchItemText: UINT,
- ) -> BOOL;
- pub fn GetAltTabInfoW(
- hwnd: HWND,
- iItem: c_int,
- pati: PALTTABINFO,
- pszItemText: LPWSTR,
- cchItemText: UINT,
- ) -> BOOL;
- pub fn GetListBoxInfo(
- hwnd: HWND,
- ) -> DWORD;
- pub fn LockWorkStation() -> BOOL;
- pub fn UserHandleGrantAccess(
- hUserHandle: HANDLE,
- hJob: HANDLE,
- bGrant: BOOL,
- ) -> BOOL;
-}
-DECLARE_HANDLE!{HRAWINPUT, HRAWINPUT__}
-#[inline]
-pub fn GET_RAWINPUT_CODE_WPARAM(wParam: WPARAM) -> WPARAM { wParam & 0xff }
-pub const RIM_INPUT: WPARAM = 0;
-pub const RIM_INPUTSINK: WPARAM = 1;
-STRUCT!{struct RAWINPUTHEADER {
- dwType: DWORD,
- dwSize: DWORD,
- hDevice: HANDLE,
- wParam: WPARAM,
-}}
-pub type PRAWINPUTHEADER = *mut RAWINPUTHEADER;
-pub type LPRAWINPUTHEADER = *mut RAWINPUTHEADER;
-pub const RIM_TYPEMOUSE: DWORD = 0;
-pub const RIM_TYPEKEYBOARD: DWORD = 1;
-pub const RIM_TYPEHID: DWORD = 2;
-STRUCT!{struct RAWMOUSE {
- usFlags: USHORT,
- memory_padding: USHORT, // 16bit Padding for 32bit align in following union
- usButtonFlags: USHORT,
- usButtonData: USHORT,
- ulRawButtons: ULONG,
- lLastX: LONG,
- lLastY: LONG,
- ulExtraInformation: ULONG,
-}}
-pub type PRAWMOUSE = *mut RAWMOUSE;
-pub type LPRAWMOUSE = *mut RAWMOUSE;
-pub const RI_MOUSE_LEFT_BUTTON_DOWN: USHORT = 0x0001;
-pub const RI_MOUSE_LEFT_BUTTON_UP: USHORT = 0x0002;
-pub const RI_MOUSE_RIGHT_BUTTON_DOWN: USHORT = 0x0004;
-pub const RI_MOUSE_RIGHT_BUTTON_UP: USHORT = 0x0008;
-pub const RI_MOUSE_MIDDLE_BUTTON_DOWN: USHORT = 0x0010;
-pub const RI_MOUSE_MIDDLE_BUTTON_UP: USHORT = 0x0020;
-pub const RI_MOUSE_BUTTON_1_DOWN: USHORT = RI_MOUSE_LEFT_BUTTON_DOWN;
-pub const RI_MOUSE_BUTTON_1_UP: USHORT = RI_MOUSE_LEFT_BUTTON_UP;
-pub const RI_MOUSE_BUTTON_2_DOWN: USHORT = RI_MOUSE_RIGHT_BUTTON_DOWN;
-pub const RI_MOUSE_BUTTON_2_UP: USHORT = RI_MOUSE_RIGHT_BUTTON_UP;
-pub const RI_MOUSE_BUTTON_3_DOWN: USHORT = RI_MOUSE_MIDDLE_BUTTON_DOWN;
-pub const RI_MOUSE_BUTTON_3_UP: USHORT = RI_MOUSE_MIDDLE_BUTTON_UP;
-pub const RI_MOUSE_BUTTON_4_DOWN: USHORT = 0x0040;
-pub const RI_MOUSE_BUTTON_4_UP: USHORT = 0x0080;
-pub const RI_MOUSE_BUTTON_5_DOWN: USHORT = 0x0100;
-pub const RI_MOUSE_BUTTON_5_UP: USHORT = 0x0200;
-pub const RI_MOUSE_WHEEL: USHORT = 0x0400;
-pub const MOUSE_MOVE_RELATIVE: USHORT = 0;
-pub const MOUSE_MOVE_ABSOLUTE: USHORT = 1;
-pub const MOUSE_VIRTUAL_DESKTOP: USHORT = 0x02;
-pub const MOUSE_ATTRIBUTES_CHANGED: USHORT = 0x04;
-pub const MOUSE_MOVE_NOCOALESCE: USHORT = 0x08;
-STRUCT!{struct RAWKEYBOARD {
- MakeCode: USHORT,
- Flags: USHORT,
- Reserved: USHORT,
- VKey: USHORT,
- Message: UINT,
- ExtraInformation: ULONG,
-}}
-pub type PRAWKEYBOARD = *mut RAWKEYBOARD;
-pub type LPRAWKEYBOARD = *mut RAWKEYBOARD;
-pub const KEYBOARD_OVERRUN_MAKE_CODE: DWORD = 0xFF;
-pub const RI_KEY_MAKE: DWORD = 0;
-pub const RI_KEY_BREAK: DWORD = 1;
-pub const RI_KEY_E0: DWORD = 2;
-pub const RI_KEY_E1: DWORD = 4;
-pub const RI_KEY_TERMSRV_SET_LED: DWORD = 8;
-pub const RI_KEY_TERMSRV_SHADOW: DWORD = 0x10;
-STRUCT!{struct RAWHID {
- dwSizeHid: DWORD,
- dwCount: DWORD,
- bRawData: [BYTE; 1],
-}}
-pub type PRAWHID = *mut RAWHID;
-pub type LPRAWHID = *mut RAWHID;
-UNION!{union RAWINPUT_data {
- [u32; 6],
- mouse mouse_mut: RAWMOUSE,
- keyboard keyboard_mut: RAWKEYBOARD,
- hid hid_mut: RAWHID,
-}}
-STRUCT!{struct RAWINPUT {
- header: RAWINPUTHEADER,
- data: RAWINPUT_data,
-}}
-pub type PRAWINPUT = *mut RAWINPUT;
-pub type LPRAWINPUT = *mut RAWINPUT;
-pub const RID_INPUT: DWORD = 0x10000003;
-pub const RID_HEADER: DWORD = 0x10000005;
-extern "system" {
- pub fn GetRawInputData(
- hRawInput: HRAWINPUT,
- uiCommand: UINT,
- pData: LPVOID,
- pcbSize: PUINT,
- cbSizeHeader: UINT,
- ) -> UINT;
-}
-pub const RIDI_PREPARSEDDATA: DWORD = 0x20000005;
-pub const RIDI_DEVICENAME: DWORD = 0x20000007;
-pub const RIDI_DEVICEINFO: DWORD = 0x2000000b;
-STRUCT!{struct RID_DEVICE_INFO_MOUSE {
- dwId: DWORD,
- dwNumberOfButtons: DWORD,
- dwSampleRate: DWORD,
- fHasHorizontalWheel: BOOL,
-}}
-pub type PRID_DEVICE_INFO_MOUSE = *mut RID_DEVICE_INFO_MOUSE;
-STRUCT!{struct RID_DEVICE_INFO_KEYBOARD {
- dwType: DWORD,
- dwSubType: DWORD,
- dwKeyboardMode: DWORD,
- dwNumberOfFunctionKeys: DWORD,
- dwNumberOfIndicators: DWORD,
- dwNumberOfKeysTotal: DWORD,
-}}
-pub type PRID_DEVICE_INFO_KEYBOARD = *mut RID_DEVICE_INFO_KEYBOARD;
-STRUCT!{struct RID_DEVICE_INFO_HID {
- dwVendorId: DWORD,
- dwProductId: DWORD,
- dwVersionNumber: DWORD,
- usUsagePage: USHORT,
- usUsage: USHORT,
-}}
-pub type PRID_DEVICE_INFO_HID = *mut RID_DEVICE_INFO_HID;
-UNION!{union RID_DEVICE_INFO_u {
- [u32; 6],
- mouse mouse_mut: RID_DEVICE_INFO_MOUSE,
- keyboard keyboard_mut: RID_DEVICE_INFO_KEYBOARD,
- hid hid_mut: RID_DEVICE_INFO_HID,
-}}
-STRUCT!{struct RID_DEVICE_INFO {
- cbSize: DWORD,
- dwType: DWORD,
- u: RID_DEVICE_INFO_u,
-}}
-pub type PRID_DEVICE_INFO = *mut RID_DEVICE_INFO;
-pub type LPRID_DEVICE_INFO = *mut RID_DEVICE_INFO;
-extern "system" {
- pub fn GetRawInputDeviceInfoA(
- hDevice: HANDLE,
- uiCommand: UINT,
- pData: LPVOID,
- pcbSize: PUINT,
- ) -> UINT;
- pub fn GetRawInputDeviceInfoW(
- hDevice: HANDLE,
- uiCommand: UINT,
- pData: LPVOID,
- pcbSize: PUINT,
- ) -> UINT;
- pub fn GetRawInputBuffer(
- pData: PRAWINPUT,
- pcbSize: PUINT,
- cbSizeHeader: UINT,
- ) -> UINT;
-}
-STRUCT!{struct RAWINPUTDEVICE {
- usUsagePage: USHORT,
- usUsage: USHORT,
- dwFlags: DWORD,
- hwndTarget: HWND,
-}}
-pub type PRAWINPUTDEVICE = *mut RAWINPUTDEVICE;
-pub type LPRAWINPUTDEVICE = *mut RAWINPUTDEVICE;
-pub type PCRAWINPUTDEVICE = *const RAWINPUTDEVICE;
-pub const RIDEV_REMOVE: DWORD = 0x00000001;
-pub const RIDEV_EXCLUDE: DWORD = 0x00000010;
-pub const RIDEV_PAGEONLY: DWORD = 0x00000020;
-pub const RIDEV_NOLEGACY: DWORD = 0x00000030;
-pub const RIDEV_INPUTSINK: DWORD = 0x00000100;
-pub const RIDEV_CAPTUREMOUSE: DWORD = 0x00000200;
-pub const RIDEV_NOHOTKEYS: DWORD = 0x00000200;
-pub const RIDEV_APPKEYS: DWORD = 0x00000400;
-pub const RIDEV_EXINPUTSINK: DWORD = 0x00001000;
-pub const RIDEV_DEVNOTIFY: DWORD = 0x00002000;
-pub const RIDEV_EXMODEMASK: DWORD = 0x000000F0;
-pub const GIDC_ARRIVAL: DWORD = 1;
-pub const GIDC_REMOVAL: DWORD = 2;
-extern "system" {
- pub fn RegisterRawInputDevices(
- pRawInputDevices: PCRAWINPUTDEVICE,
- uiNumDevices: UINT,
- cbSize: UINT,
- ) -> BOOL;
- pub fn GetRegisteredRawInputDevices(
- pRawInputDevices: PRAWINPUTDEVICE,
- puiNumDevices: PUINT,
- cbSize: UINT,
- ) -> UINT;
-}
-STRUCT!{struct RAWINPUTDEVICELIST {
- hDevice: HANDLE,
- dwType: DWORD,
-}}
-pub type PRAWINPUTDEVICELIST = *mut RAWINPUTDEVICELIST;
-extern "system" {
- pub fn GetRawInputDeviceList(
- pRawInputDeviceList: PRAWINPUTDEVICELIST,
- puiNumDevices: PUINT,
- cbSize: UINT,
- ) -> UINT;
- pub fn DefRawInputProc(
- paRawInput: *mut PRAWINPUT,
- nInput: INT,
- cbSizeHeader: UINT,
- ) -> LRESULT;
- pub fn ChangeWindowMessageFilter(
- message: UINT,
- dwFlag: DWORD,
- ) -> BOOL;
-}
-//15165
-STRUCT!{struct CHANGEFILTERSTRUCT {
- cbSize: DWORD,
- ExtStatus: DWORD,
-}}
-extern "system" {
- pub fn ChangeWindowMessageFilterEx(
- hwnd: HWND,
- message: UINT,
- action: DWORD,
- pChangeFilterStruct: PCHANGEFILTERSTRUCT,
- ) -> BOOL;
-}
-pub type PCHANGEFILTERSTRUCT = *mut CHANGEFILTERSTRUCT;
-//15427
-pub const NID_INTEGRATED_TOUCH: UINT = 0x00000001;
-pub const NID_EXTERNAL_TOUCH: UINT = 0x00000002;
-pub const NID_INTEGRATED_PEN: UINT = 0x00000004;
-pub const NID_EXTERNAL_PEN: UINT = 0x00000008;
-pub const NID_MULTI_INPUT: UINT = 0x00000040;
-pub const NID_READY: UINT = 0x00000080;
-pub const MAX_STR_BLOCKREASON: usize = 256;
-extern "system" {
- pub fn ShutdownBlockReasonCreate(
- hWnd: HWND,
- pwszReason: LPCWSTR,
- ) -> BOOL;
- pub fn ShutdownBlockReasonQuery(
- hWnd: HWND,
- pwszBuff: LPWSTR,
- pcchBuff: *mut DWORD,
- ) -> BOOL;
- pub fn ShutdownBlockReasonDestroy(
- hWnd: HWND,
- ) -> BOOL;
-}
-//15615
-extern "system" {
- pub fn IsImmersiveProcess(
- hProcess: HANDLE,
- ) -> BOOL;
-}