📄 winuser.pas
字号:
{$EXTERNALSYM HCBT_SYSCOMMAND}
HCBT_SETFOCUS = 9;
{$EXTERNALSYM HCBT_SETFOCUS}
//
// HCBT_ACTIVATE structure pointed to by lParam
//
type
LPCBTACTIVATESTRUCT = ^CBTACTIVATESTRUCT;
{$EXTERNALSYM LPCBTACTIVATESTRUCT}
tagCBTACTIVATESTRUCT = record
fMouse: BOOL;
hWndActive: HWND;
end;
{$EXTERNALSYM tagCBTACTIVATESTRUCT}
CBTACTIVATESTRUCT = tagCBTACTIVATESTRUCT;
{$EXTERNALSYM CBTACTIVATESTRUCT}
TCbtActivateStruct = CBTACTIVATESTRUCT;
PCbtActivateStruct = LPCBTACTIVATESTRUCT;
//
// WH_MSGFILTER Filter Proc Codes
//
const
MSGF_DIALOGBOX = 0;
{$EXTERNALSYM MSGF_DIALOGBOX}
MSGF_MESSAGEBOX = 1;
{$EXTERNALSYM MSGF_MESSAGEBOX}
MSGF_MENU = 2;
{$EXTERNALSYM MSGF_MENU}
MSGF_SCROLLBAR = 5;
{$EXTERNALSYM MSGF_SCROLLBAR}
MSGF_NEXTWINDOW = 6;
{$EXTERNALSYM MSGF_NEXTWINDOW}
MSGF_MAX = 8; // unused
{$EXTERNALSYM MSGF_MAX}
MSGF_USER = 4096;
{$EXTERNALSYM MSGF_USER}
//
// Shell support
//
HSHELL_WINDOWCREATED = 1;
{$EXTERNALSYM HSHELL_WINDOWCREATED}
HSHELL_WINDOWDESTROYED = 2;
{$EXTERNALSYM HSHELL_WINDOWDESTROYED}
HSHELL_ACTIVATESHELLWINDOW = 3;
{$EXTERNALSYM HSHELL_ACTIVATESHELLWINDOW}
HSHELL_WINDOWACTIVATED = 4;
{$EXTERNALSYM HSHELL_WINDOWACTIVATED}
HSHELL_GETMINRECT = 5;
{$EXTERNALSYM HSHELL_GETMINRECT}
HSHELL_REDRAW = 6;
{$EXTERNALSYM HSHELL_REDRAW}
HSHELL_TASKMAN = 7;
{$EXTERNALSYM HSHELL_TASKMAN}
HSHELL_LANGUAGE = 8;
{$EXTERNALSYM HSHELL_LANGUAGE}
HSHELL_ACCESSIBILITYSTATE = 11;
{$EXTERNALSYM HSHELL_ACCESSIBILITYSTATE}
HSHELL_APPCOMMAND = 12;
{$EXTERNALSYM HSHELL_APPCOMMAND}
// wparam for HSHELL_ACCESSIBILITYSTATE//
ACCESS_STICKYKEYS = $0001;
{$EXTERNALSYM ACCESS_STICKYKEYS}
ACCESS_FILTERKEYS = $0002;
{$EXTERNALSYM ACCESS_FILTERKEYS}
ACCESS_MOUSEKEYS = $0003;
{$EXTERNALSYM ACCESS_MOUSEKEYS}
// cmd for HSHELL_APPCOMMAND and WM_APPCOMMAND//
APPCOMMAND_BROWSER_BACKWARD = 1;
{$EXTERNALSYM APPCOMMAND_BROWSER_BACKWARD}
APPCOMMAND_BROWSER_FORWARD = 2;
{$EXTERNALSYM APPCOMMAND_BROWSER_FORWARD}
APPCOMMAND_BROWSER_REFRESH = 3;
{$EXTERNALSYM APPCOMMAND_BROWSER_REFRESH}
APPCOMMAND_BROWSER_STOP = 4;
{$EXTERNALSYM APPCOMMAND_BROWSER_STOP}
APPCOMMAND_BROWSER_SEARCH = 5;
{$EXTERNALSYM APPCOMMAND_BROWSER_SEARCH}
APPCOMMAND_BROWSER_FAVORITES = 6;
{$EXTERNALSYM APPCOMMAND_BROWSER_FAVORITES}
APPCOMMAND_BROWSER_HOME = 7;
{$EXTERNALSYM APPCOMMAND_BROWSER_HOME}
APPCOMMAND_VOLUME_MUTE = 8;
{$EXTERNALSYM APPCOMMAND_VOLUME_MUTE}
APPCOMMAND_VOLUME_DOWN = 9;
{$EXTERNALSYM APPCOMMAND_VOLUME_DOWN}
APPCOMMAND_VOLUME_UP = 10;
{$EXTERNALSYM APPCOMMAND_VOLUME_UP}
APPCOMMAND_MEDIA_NEXTTRACK = 11;
{$EXTERNALSYM APPCOMMAND_MEDIA_NEXTTRACK}
APPCOMMAND_MEDIA_PREVIOUSTRACK = 12;
{$EXTERNALSYM APPCOMMAND_MEDIA_PREVIOUSTRACK}
APPCOMMAND_MEDIA_STOP = 13;
{$EXTERNALSYM APPCOMMAND_MEDIA_STOP}
APPCOMMAND_MEDIA_PLAY_PAUSE = 14;
{$EXTERNALSYM APPCOMMAND_MEDIA_PLAY_PAUSE}
APPCOMMAND_LAUNCH_MAIL = 15;
{$EXTERNALSYM APPCOMMAND_LAUNCH_MAIL}
APPCOMMAND_LAUNCH_MEDIA_SELECT = 16;
{$EXTERNALSYM APPCOMMAND_LAUNCH_MEDIA_SELECT}
APPCOMMAND_LAUNCH_APP1 = 17;
{$EXTERNALSYM APPCOMMAND_LAUNCH_APP1}
APPCOMMAND_LAUNCH_APP2 = 18;
{$EXTERNALSYM APPCOMMAND_LAUNCH_APP2}
APPCOMMAND_BASS_DOWN = 19;
{$EXTERNALSYM APPCOMMAND_BASS_DOWN}
APPCOMMAND_BASS_BOOST = 20;
{$EXTERNALSYM APPCOMMAND_BASS_BOOST}
APPCOMMAND_BASS_UP = 21;
{$EXTERNALSYM APPCOMMAND_BASS_UP}
APPCOMMAND_TREBLE_DOWN = 22;
{$EXTERNALSYM APPCOMMAND_TREBLE_DOWN}
APPCOMMAND_TREBLE_UP = 23;
{$EXTERNALSYM APPCOMMAND_TREBLE_UP}
FAPPCOMMAND_MOUSE = $8000;
{$EXTERNALSYM FAPPCOMMAND_MOUSE}
FAPPCOMMAND_KEY = 0;
{$EXTERNALSYM FAPPCOMMAND_KEY}
FAPPCOMMAND_OEM = $1000;
{$EXTERNALSYM FAPPCOMMAND_OEM}
FAPPCOMMAND_MASK = $F000;
{$EXTERNALSYM FAPPCOMMAND_MASK}
function GET_APPCOMMAND_LPARAM(lParam: LPARAM): Shortint;
{$EXTERNALSYM GET_APPCOMMAND_LPARAM}
function GET_DEVICE_LPARAM(lParam: LPARAM): WORD;
{$EXTERNALSYM GET_DEVICE_LPARAM}
function GET_MOUSEORKEY_LPARAM(lParam: LPARAM): WORD;
{$EXTERNALSYM GET_MOUSEORKEY_LPARAM}
function GET_FLAGS_LPARAM(lParam: LPARAM): Integer;
{$EXTERNALSYM GET_FLAGS_LPARAM}
function GET_KEYSTATE_LPARAM(lParam: LPARAM): Integer;
{$EXTERNALSYM GET_KEYSTATE_LPARAM}
//
// Message Structure used in Journaling
//
type
LPEVENTMSG = ^EVENTMSG;
{$EXTERNALSYM LPEVENTMSG}
tagEVENTMSG = record
message_: UINT;
paramL: UINT;
paramH: UINT;
time: DWORD;
hwnd: HWND;
end;
{$EXTERNALSYM tagEVENTMSG}
EVENTMSG = tagEVENTMSG;
{$EXTERNALSYM EVENTMSG}
LPEVENTMSGMSG = ^EVENTMSG;
{$EXTERNALSYM LPEVENTMSGMSG}
PEVENTMSGMSG = ^EVENTMSG;
{$EXTERNALSYM PEVENTMSGMSG}
NPEVENTMSG = ^EVENTMSG;
{$EXTERNALSYM NPEVENTMSG}
NPEVENTMSGMSG = ^EVENTMSG;
{$EXTERNALSYM NPEVENTMSGMSG}
TEventMsg = EVENTMSG;
PEventMsg = LPEVENTMSG;
//
// Message structure used by WH_CALLWNDPROC
//
LPCWPSTRUCT = ^CWPSTRUCT;
{$EXTERNALSYM LPCWPSTRUCT}
tagCWPSTRUCT = record
lParam: LPARAM;
wParam: WPARAM;
message: UINT;
hwnd: HWND;
end;
{$EXTERNALSYM tagCWPSTRUCT}
CWPSTRUCT = tagCWPSTRUCT;
{$EXTERNALSYM CWPSTRUCT}
NPCWPSTRUCT = ^CWPSTRUCT;
{$EXTERNALSYM NPCWPSTRUCT}
TCwpStruct = CWPSTRUCT;
PCwpStruct = LPCWPSTRUCT;
//
// Message structure used by WH_CALLWNDPROCRET
//
LPCWPRETSTRUCT = ^CWPRETSTRUCT;
{$EXTERNALSYM LPCWPRETSTRUCT}
tagCWPRETSTRUCT = record
lResult: LRESULT;
lParam: LPARAM;
wParam: WPARAM;
message: UINT;
hwnd: HWND;
end;
{$EXTERNALSYM tagCWPRETSTRUCT}
CWPRETSTRUCT = tagCWPRETSTRUCT;
{$EXTERNALSYM CWPRETSTRUCT}
NPCWPRETSTRUCT = ^CWPRETSTRUCT;
{$EXTERNALSYM NPCWPRETSTRUCT}
TCwpRetStruct = CWPRETSTRUCT;
PCwpRetStruct = LPCWPRETSTRUCT;
//
// Low level hook flags
//
const
LLKHF_EXTENDED = (KF_EXTENDED shr 8);
{$EXTERNALSYM LLKHF_EXTENDED}
LLKHF_INJECTED = $00000010;
{$EXTERNALSYM LLKHF_INJECTED}
LLKHF_ALTDOWN = (KF_ALTDOWN shr 8);
{$EXTERNALSYM LLKHF_ALTDOWN}
LLKHF_UP = (KF_UP shr 8);
{$EXTERNALSYM LLKHF_UP}
LLMHF_INJECTED = $00000001;
{$EXTERNALSYM LLMHF_INJECTED}
//
// Structure used by WH_KEYBOARD_LL
//
type
LPKBDLLHOOKSTRUCT = ^KBDLLHOOKSTRUCT;
{$EXTERNALSYM LPKBDLLHOOKSTRUCT}
tagKBDLLHOOKSTRUCT = record
vkCode: DWORD;
scanCode: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: ULONG_PTR;
end;
{$EXTERNALSYM tagKBDLLHOOKSTRUCT}
KBDLLHOOKSTRUCT = tagKBDLLHOOKSTRUCT;
{$EXTERNALSYM KBDLLHOOKSTRUCT}
TKbDllHookStruct = KBDLLHOOKSTRUCT;
PKbDllHookStruct = LPKBDLLHOOKSTRUCT;
//
// Structure used by WH_MOUSE_LL
//
LPMSLLHOOKSTRUCT = ^MSLLHOOKSTRUCT;
{$EXTERNALSYM LPMSLLHOOKSTRUCT}
tagMSLLHOOKSTRUCT = record
pt: POINT;
mouseData: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: ULONG_PTR;
end;
{$EXTERNALSYM tagMSLLHOOKSTRUCT}
MSLLHOOKSTRUCT = tagMSLLHOOKSTRUCT;
{$EXTERNALSYM MSLLHOOKSTRUCT}
TMsllHookStruct = MSLLHOOKSTRUCT;
PMsllHookStruct = LPMSLLHOOKSTRUCT;
//
// Structure used by WH_DEBUG
//
LPDEBUGHOOKINFO = ^DEBUGHOOKINFO;
{$EXTERNALSYM LPDEBUGHOOKINFO}
tagDEBUGHOOKINFO = record
idThread: DWORD;
idThreadInstaller: DWORD;
lParam: LPARAM;
wParam: WPARAM;
code: Integer;
end;
{$EXTERNALSYM tagDEBUGHOOKINFO}
DEBUGHOOKINFO = tagDEBUGHOOKINFO;
{$EXTERNALSYM DEBUGHOOKINFO}
NPDEBUGHOOKINFO = ^DEBUGHOOKINFO;
{$EXTERNALSYM NPDEBUGHOOKINFO}
TDebugHookInfo = DEBUGHOOKINFO;
PDebugHookInfo = LPDEBUGHOOKINFO;
//
// Structure used by WH_MOUSE
//
LPMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT;
{$EXTERNALSYM LPMOUSEHOOKSTRUCT}
tagMOUSEHOOKSTRUCT = record
pt: POINT;
hwnd: HWND;
wHitTestCode: UINT;
dwExtraInfo: ULONG_PTR;
end;
{$EXTERNALSYM tagMOUSEHOOKSTRUCT}
MOUSEHOOKSTRUCT = tagMOUSEHOOKSTRUCT;
{$EXTERNALSYM MOUSEHOOKSTRUCT}
TMouseHookStruct = MOUSEHOOKSTRUCT;
PMouseHookStruct = LPMOUSEHOOKSTRUCT;
LPMOUSEHOOKSTRUCTEX = ^MOUSEHOOKSTRUCTEX;
{$EXTERNALSYM LPMOUSEHOOKSTRUCTEX}
tagMOUSEHOOKSTRUCTEX = record
mhs: MOUSEHOOKSTRUCT;
mouseData: DWORD;
end;
{$EXTERNALSYM tagMOUSEHOOKSTRUCTEX}
MOUSEHOOKSTRUCTEX = tagMOUSEHOOKSTRUCTEX;
{$EXTERNALSYM MOUSEHOOKSTRUCTEX}
TMouseHookStructEx = MOUSEHOOKSTRUCTEX;
PMouseHookStructEx = LPMOUSEHOOKSTRUCTEX;
//
// Structure used by WH_HARDWARE
//
LPHARDWAREHOOKSTRUCT = ^HARDWAREHOOKSTRUCT;
{$EXTERNALSYM LPHARDWAREHOOKSTRUCT}
tagHARDWAREHOOKSTRUCT = record
hwnd: HWND;
message: UINT;
wParam: WPARAM;
lParam: LPARAM;
end;
{$EXTERNALSYM tagHARDWAREHOOKSTRUCT}
HARDWAREHOOKSTRUCT = tagHARDWAREHOOKSTRUCT;
{$EXTERNALSYM HARDWAREHOOKSTRUCT}
THardwareHookStruct = HARDWAREHOOKSTRUCT;
PHardwareHookStruct = LPHARDWAREHOOKSTRUCT;
//
// Keyboard Layout API
//
const
HKL_PREV = 0;
{$EXTERNALSYM HKL_PREV}
HKL_NEXT = 1;
{$EXTERNALSYM HKL_NEXT}
KLF_ACTIVATE = $00000001;
{$EXTERNALSYM KLF_ACTIVATE}
KLF_SUBSTITUTE_OK = $00000002;
{$EXTERNALSYM KLF_SUBSTITUTE_OK}
KLF_REORDER = $00000008;
{$EXTERNALSYM KLF_REORDER}
KLF_REPLACELANG = $00000010;
{$EXTERNALSYM KLF_REPLACELANG}
KLF_NOTELLSHELL = $00000080;
{$EXTERNALSYM KLF_NOTELLSHELL}
KLF_SETFORPROCESS = $00000100;
{$EXTERNALSYM KLF_SETFORPROCESS}
KLF_SHIFTLOCK = $00010000;
{$EXTERNALSYM KLF_SHIFTLOCK}
KLF_RESET = $40000000;
{$EXTERNALSYM KLF_RESET}
//
// Bits in wParam of WM_INPUTLANGCHANGEREQUEST message
//
INPUTLANGCHANGE_SYSCHARSET = $0001;
{$EXTERNALSYM INPUTLANGCHANGE_SYSCHARSET}
INPUTLANGCHANGE_FORWARD = $0002;
{$EXTERNALSYM INPUTLANGCHANGE_FORWARD}
INPUTLANGCHANGE_BACKWARD = $0004;
{$EXTERNALSYM INPUTLANGCHANGE_BACKWARD}
//
// Size of KeyboardLayoutName (number of characters), including nul terminator
//
KL_NAMELENGTH = 9;
{$EXTERNALSYM KL_NAMELENGTH}
function LoadKeyboardLayoutA(pwszKLID: LPCSTR; Flags: UINT): HKL; stdcall;
{$EXTERNALSYM LoadKeyboardLayoutA}
function LoadKeyboardLayoutW(pwszKLID: LPCWSTR; Flags: UINT): HKL; stdcall;
{$EXTERNALSYM LoadKeyboardLayoutW}
{$IFDEF UNICODE}
function LoadKeyboardLayout(pwszKLID: LPCWSTR; Flags: UINT): HKL; stdcall;
{$EXTERNALSYM LoadKeyboardLayout}
{$ELSE}
function LoadKeyboardLayout(pwszKLID: LPCSTR; Flags: UINT): HKL; stdcall;
{$EXTERNALSYM LoadKeyboardLayout}
{$ENDIF}
{$IFDEF WINVER_0400_GREATER}
function ActivateKeyboardLayout(hkl: HKL; Flags: UINT): HKL; stdcall;
{$EXTERNALSYM ActivateKeyboardLayout}
{$ELSE}
function ActivateKeyboardLayout(hkl: HKL; Flags: UINT): BOOL; stdcall;
{$EXTERNALSYM ActivateKeyboardLayout}
{$ENDIF}
function ToUnicodeEx(wVirtKey, wScanCode: UINT; lpKeyState: PBYTE;
pwszBuff: LPWSTR; cchBuff: Integer; wFlags: UINT; dwhkl: HKL): Integer; stdcall;
{$EXTERNALSYM ToUnicodeEx}
function UnloadKeyboardLayout(hkl: HKL): BOOL; stdcall;
{$EXTERNALSYM UnloadKeyboardLayout}
function GetKeyboardLayoutNameA(pwszKLID: LPSTR): BOOL; stdcall;
{$EXTERNALSYM GetKeyboardLayoutNameA}
function GetKeyboardLayoutNameW(pwszKLID: LPWSTR): BOOL; stdcall;
{$EXTERNALSYM GetKeyboardLayoutNameW}
{$IFDEF UNICODE}
function GetKeyboardLayoutName(pwszKLID: LPWSTR): BOOL; stdcall;
{$EXTERNALSYM GetKeyboardLayoutName}
{$ELSE}
function GetKeyboardLayoutName(pwszKLID: LPSTR): BOOL; stdcall;
{$EXTERNALSYM GetKeyboardLayoutName}
{$ENDIF}
function GetKeyboardLayoutList(nBuff: Integer; lpList: PHKL): Integer; stdcall;
{$EXTERNALSYM GetKeyboardLayoutList}
function GetKeyboardLayout(idThread: DWORD): HKL; stdcall;
{$EXTERNALSYM GetKeyboardLayout}
type
LPMOUSEMOVEPOINT = ^MOUSEMOVEPOINT;
{$EXTERNALSYM LPMOUSEMOVEPOINT}
tagMOUSEMOVEPOINT = record
x: Integer;
y: Integer;
time: DWORD;
dwExtraInfo: ULONG_PTR;
end;
{$EXTERNALSYM tagMOUSEMOVEPOINT}
MOUSEMOVEPOINT = tagMOUSEMOVEPOINT;
{$EXTERNALSYM MOUSEMOVEPOINT}
TMouseMovePoint = MOUSEMOVEPOINT;
PMouseMovePoint = LPMOUSEMOVEPOINT;
//
// Values for resolution parameter of GetMouseMovePointsEx
//
const
GMMP_USE_DISPLAY_POINTS = 1;
{$EXTERNALSYM GMMP_USE_DISPLAY_POINTS}
GMMP_USE_HIGH_RESOLUTION_POINTS = 2;
{$EXTERNALSYM GMMP_USE_HIGH_RESOLUTION_POINTS}
function GetMouseMovePointsEx(cbSize: UINT; lppt, lpptBuf: LPMOUSEMOVEPOINT;
nBufPoints: Integer; resolution: DWORD): Integer; stdcall;
{$EXTERNALSYM GetMouseMovePointsEx}
//
// Desktop-specific access flags
//
const
DESKTOP_READOBJECTS = $0001;
{$EXTERNALSYM DESKTOP_READOBJECTS}
DESKTOP_CREATEWINDOW = $0002;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -