📄 jwawinuser.pas
字号:
{$EXTERNALSYM WH_MAX}
{$ENDIF}
{$ELSE}
WH_MAX = 11;
{$EXTERNALSYM WH_MAX}
{$ENDIF}
WH_MINHOOK = WH_MIN;
{$EXTERNALSYM WH_MINHOOK}
WH_MAXHOOK = WH_MAX;
{$EXTERNALSYM WH_MAXHOOK}
//
// Hook Codes
//
HC_ACTION = 0;
{$EXTERNALSYM HC_ACTION}
HC_GETNEXT = 1;
{$EXTERNALSYM HC_GETNEXT}
HC_SKIP = 2;
{$EXTERNALSYM HC_SKIP}
HC_NOREMOVE = 3;
{$EXTERNALSYM HC_NOREMOVE}
HC_NOREM = HC_NOREMOVE;
{$EXTERNALSYM HC_NOREM}
HC_SYSMODALON = 4;
{$EXTERNALSYM HC_SYSMODALON}
HC_SYSMODALOFF = 5;
{$EXTERNALSYM HC_SYSMODALOFF}
//
// CBT Hook Codes
//
HCBT_MOVESIZE = 0;
{$EXTERNALSYM HCBT_MOVESIZE}
HCBT_MINMAX = 1;
{$EXTERNALSYM HCBT_MINMAX}
HCBT_QS = 2;
{$EXTERNALSYM HCBT_QS}
HCBT_CREATEWND = 3;
{$EXTERNALSYM HCBT_CREATEWND}
HCBT_DESTROYWND = 4;
{$EXTERNALSYM HCBT_DESTROYWND}
HCBT_ACTIVATE = 5;
{$EXTERNALSYM HCBT_ACTIVATE}
HCBT_CLICKSKIPPED = 6;
{$EXTERNALSYM HCBT_CLICKSKIPPED}
HCBT_KEYSKIPPED = 7;
{$EXTERNALSYM HCBT_KEYSKIPPED}
HCBT_SYSCOMMAND = 8;
{$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;
//
// WTSSESSION_NOTIFICATION struct pointed by lParam, for WM_WTSSESSION_CHANGE
//
tagWTSSESSION_NOTIFICATION = record
cbSize: DWORD;
dwSessionId: DWORD;
end;
{$EXTERNALSYM tagWTSSESSION_NOTIFICATION}
WTSSESSION_NOTIFICATION = tagWTSSESSION_NOTIFICATION;
{$EXTERNALSYM WTSSESSION_NOTIFICATION}
PWTSSESSION_NOTIFICATION = ^WTSSESSION_NOTIFICATION;
{$EXTERNALSYM PWTSSESSION_NOTIFICATION}
TWtsSessionNotification = WTSSESSION_NOTIFICATION;
PWtsSessionNotification = PWTSSESSION_NOTIFICATION;
//
// codes passed in WPARAM for WM_WTSSESSION_CHANGE
//
const
WTS_CONSOLE_CONNECT = $1;
{$EXTERNALSYM WTS_CONSOLE_CONNECT}
WTS_CONSOLE_DISCONNECT = $2;
{$EXTERNALSYM WTS_CONSOLE_DISCONNECT}
WTS_REMOTE_CONNECT = $3;
{$EXTERNALSYM WTS_REMOTE_CONNECT}
WTS_REMOTE_DISCONNECT = $4;
{$EXTERNALSYM WTS_REMOTE_DISCONNECT}
WTS_SESSION_LOGON = $5;
{$EXTERNALSYM WTS_SESSION_LOGON}
WTS_SESSION_LOGOFF = $6;
{$EXTERNALSYM WTS_SESSION_LOGOFF}
WTS_SESSION_LOCK = $7;
{$EXTERNALSYM WTS_SESSION_LOCK}
WTS_SESSION_UNLOCK = $8;
{$EXTERNALSYM WTS_SESSION_UNLOCK}
WTS_SESSION_REMOTE_CONTROL = $9;
{$EXTERNALSYM WTS_SESSION_REMOTE_CONTROL}
//
// 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}
HSHELL_WINDOWREPLACED = 13;
{$EXTERNALSYM HSHELL_WINDOWREPLACED}
// 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}
APPCOMMAND_MICROPHONE_VOLUME_MUTE = 24;
{$EXTERNALSYM APPCOMMAND_MICROPHONE_VOLUME_MUTE}
APPCOMMAND_MICROPHONE_VOLUME_DOWN = 25;
{$EXTERNALSYM APPCOMMAND_MICROPHONE_VOLUME_DOWN}
APPCOMMAND_MICROPHONE_VOLUME_UP = 26;
{$EXTERNALSYM APPCOMMAND_MICROPHONE_VOLUME_UP}
APPCOMMAND_HELP = 27;
{$EXTERNALSYM APPCOMMAND_HELP}
APPCOMMAND_FIND = 28;
{$EXTERNALSYM APPCOMMAND_FIND}
APPCOMMAND_NEW = 29;
{$EXTERNALSYM APPCOMMAND_NEW}
APPCOMMAND_OPEN = 30;
{$EXTERNALSYM APPCOMMAND_OPEN}
APPCOMMAND_CLOSE = 31;
{$EXTERNALSYM APPCOMMAND_CLOSE}
APPCOMMAND_SAVE = 32;
{$EXTERNALSYM APPCOMMAND_SAVE}
APPCOMMAND_PRINT = 33;
{$EXTERNALSYM APPCOMMAND_PRINT}
APPCOMMAND_UNDO = 34;
{$EXTERNALSYM APPCOMMAND_UNDO}
APPCOMMAND_REDO = 35;
{$EXTERNALSYM APPCOMMAND_REDO}
APPCOMMAND_COPY = 36;
{$EXTERNALSYM APPCOMMAND_COPY}
APPCOMMAND_CUT = 37;
{$EXTERNALSYM APPCOMMAND_CUT}
APPCOMMAND_PASTE = 38;
{$EXTERNALSYM APPCOMMAND_PASTE}
APPCOMMAND_REPLY_TO_MAIL = 39;
{$EXTERNALSYM APPCOMMAND_REPLY_TO_MAIL}
APPCOMMAND_FORWARD_MAIL = 40;
{$EXTERNALSYM APPCOMMAND_FORWARD_MAIL}
APPCOMMAND_SEND_MAIL = 41;
{$EXTERNALSYM APPCOMMAND_SEND_MAIL}
APPCOMMAND_SPELL_CHECK = 42;
{$EXTERNALSYM APPCOMMAND_SPELL_CHECK}
APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE = 43;
{$EXTERNALSYM APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE}
APPCOMMAND_MIC_ON_OFF_TOGGLE = 44;
{$EXTERNALSYM APPCOMMAND_MIC_ON_OFF_TOGGLE}
APPCOMMAND_CORRECTION_LIST = 45;
{$EXTERNALSYM APPCOMMAND_CORRECTION_LIST}
APPCOMMAND_MEDIA_PLAY = 46;
{$EXTERNALSYM APPCOMMAND_MEDIA_PLAY}
APPCOMMAND_MEDIA_PAUSE = 47;
{$EXTERNALSYM APPCOMMAND_MEDIA_PAUSE}
APPCOMMAND_MEDIA_RECORD = 48;
{$EXTERNALSYM APPCOMMAND_MEDIA_RECORD}
APPCOMMAND_MEDIA_FAST_FORWARD = 49;
{$EXTERNALSYM APPCOMMAND_MEDIA_FAST_FORWARD}
APPCOMMAND_MEDIA_REWIND = 50;
{$EXTERNALSYM APPCOMMAND_MEDIA_REWIND}
APPCOMMAND_MEDIA_CHANNEL_UP = 51;
{$EXTERNALSYM APPCOMMAND_MEDIA_CHANNEL_UP}
APPCOMMAND_MEDIA_CHANNEL_DOWN = 52;
{$EXTERNALSYM APPCOMMAND_MEDIA_CHANNEL_DOWN}
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -