⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ukeyvars.pas

📁 键盘钩子程序及控件, C++ Builder 和DELPHI可用
💻 PAS
字号:
{*****************************************************************************
 * UnitName:  UKeyVars
 * Version:   1.3
 * Created:   11/06/2004
 * Updated:   23/11/2004
 * Purpose:   Global Keyboard Types and Constants Unit.
 * Developer: BITLOGIC Software
 * Email:     development@bitlogic.co.uk
 * WebPage:   http://www.bitlogic.co.uk
 *****************************************************************************}

{*****************************************************************************
  23/11/2004 Updated to Version 1.3

  Added a new HookInjected boolean parameter to the HookStart procedure which
  will enable or disable the hooking of Injected Keys sent via the Win32 API
  function call to keyb_event.

  Added Boolean HookInjected parameter to TMMFData Structure

  05/07/2004 Updated to Version 1.2

  Added VK_0 to VK_9 Virtual KeyCodes to TBlockKeys
  Added VK_A to VK_Z Virtual KeyCodes to TBlockKeys
  Added VK_NUMPAD Virtual KeyCodes to TBlockKeys
  Added VK_OEM_COMMA, VK_OEM_PERIOD Virtual KeyCodes to TBlockKeys

  30/06/2004 Updated to Version 1.1
*****************************************************************************}

unit UKeyVars;

interface

uses Windows, Messages;

const
  MMFName = 'MMF_BITLOGIC_KEYBLOCKHOOK';  { Unique Name for the MMF }
  HOOKLIBNAME = 'keyblockhook.dll';       { Name of the Hook DLL file }
  WM_SYSKEYHOOKMSG: DWORD = WM_USER+200;

  WH_KEYBOARD_LL = 13;

  LLKHF_EXTENDED = KF_EXTENDED shr 8;
  LLKHF_INJECTED = $00000010;
  LLKHF_ALTDOWN = KF_ALTDOWN shr 8;
  LLKHF_UP = KF_UP shr 8;
  LLMHF_INJECTED = $00000001;

//#define LLKHF_EXTENDED       0x00000001
//#define LLKHF_INJECTED       0x00000010
//#define LLKHF_ALTDOWN        0x00000020
//#define LLKHF_UP             0x00000080
//#define LLMHF_INJECTED       0x00000001

  VK_0 = 48;
  VK_1 = 49;
  VK_2 = 50;
  VK_3 = 51;
  VK_4 = 52;
  VK_5 = 53;
  VK_6 = 54;
  VK_7 = 55;
  VK_8 = 56;
  VK_9 = 57;
  VK_A = 65;
  VK_B = 66;
  VK_C = 67;
  VK_D = 68;
  VK_E = 69;
  VK_F = 70;
  VK_G = 71;
  VK_H = 72;
  VK_I = 73;
  VK_J = 74;
  VK_K = 75;
  VK_L = 76;
  VK_M = 77;
  VK_N = 78;
  VK_O = 79;
  VK_P = 80;
  VK_Q = 81;
  VK_R = 82;
  VK_S = 83;
  VK_T = 84;
  VK_U = 85;
  VK_V = 86;
  VK_W = 87;
  VK_X = 88;
  VK_Y = 89;
  VK_Z = 90;

  VK_OEM_COMMA = 188;
  VK_OEM_PERIOD = 190;

type
 PKbDllHookStruct = ^TKbDllHookStruct;
 TKbDllHookStruct = record
         vkCode: DWORD;
         scanCode: DWORD;
         flags: DWORD;
         time: DWORD;
         dwExtraInfo: DWORD;
         end;

TBlockKeys = record
 HK_CTRL_ESC: boolean;  //Start Menu HotKey
 HK_ALT_ESC: boolean;   //Window Switch HotKey
 HK_ALT_TAB: boolean;   //Task Manager HotKey
 HK_ALT_F4: boolean;    //Close Application HotKey
 VK_CANCEL: boolean;    //Control-break processing
 VK_BACK: boolean;      //BACKSPACE key
 VK_TAB: boolean;       //TAB key
 VK_CLEAR: boolean;     //CLEAR key
 VK_RETURN: boolean;    //ENTER key
 VK_SHIFT: boolean;     //SHIFT key
 VK_CONTROL: boolean;   //CTRL key
 VK_MENU: boolean;      //ALT key
 VK_PAUSE: boolean;     //PAUSE key
 VK_CAPITAL: boolean;   //CAPS LOCK key
 VK_ESCAPE: boolean;    //ESC key
 VK_SPACE: boolean;     //SPACEBAR
 VK_PRIOR: boolean;     //PAGE UP key
 VK_NEXT: boolean;      //PAGE DOWN key
 VK_END: boolean;       //END key
 VK_HOME: boolean;      //HOME key
 VK_LEFT: boolean;      //LEFT ARROW key
 VK_UP: boolean;        //UP ARROW key
 VK_RIGHT: boolean;     //RIGHT ARROW key
 VK_DOWN: boolean;      //DOWN ARROW key
 VK_SELECT: boolean;    //SELECT key
 VK_PRINT: boolean;     //OEM specific
 VK_EXECUTE: boolean;   //EXECUTE key
 VK_SNAPSHOT: boolean;  //PRINT SCREEN
 VK_INSERT: boolean;    //INS key
 VK_DELETE: boolean;    //DEL key
 VK_HELP: boolean;      //HELP key
 VK_LWIN: boolean;      //Left Windows key
 VK_RWIN: boolean;      //Right Windows key
 VK_APPS: boolean;      //Application key
 VK_NUMLOCK: boolean;   //NUM LOCK key
 VK_SCROLL: boolean;    //SCROLL LOCK key
 VK_LSHIFT: boolean;    //Left SHIFT key
 VK_RSHIFT: boolean;    //Right SHIFT key
 VK_LCONTROL: boolean;  //Left CTRL key
 VK_RCONTROL: boolean;  //Right CTRL key
 VK_LMENU: boolean;     //Left ALT key
 VK_RMENU: boolean;     //Right ALT key
 VK_PROCESSKEY: boolean;//Precedes extended key
 VK_F1: boolean;        //F1 key
 VK_F2: boolean;        //F2 key
 VK_F3: boolean;        //F3 key
 VK_F4: boolean;        //F4 key
 VK_F5: boolean;        //F5 key
 VK_F6: boolean;        //F6 key
 VK_F7: boolean;        //F7 key
 VK_F8: boolean;        //F8 key
 VK_F9: boolean;        //F9 key
 VK_F10: boolean;       //F10 key
 VK_F11: boolean;       //F11 key
 VK_F12: boolean;       //F12 key
 VK_F13: boolean;       //F12 key
 VK_F14: boolean;       //F12 key
 VK_F15: boolean;       //F12 key
 VK_F16: boolean;       //F12 key
 VK_F17: boolean;       //F12 key
 VK_F18: boolean;       //F12 key
 VK_F19: boolean;       //F12 key
 VK_F20: boolean;       //F12 key
 VK_F21: boolean;       //F12 key
 VK_F22: boolean;       //F12 key
 VK_F23: boolean;       //F12 key
 VK_F24: boolean;       //F12 key
 VK_0: boolean;         //A key
 VK_1: boolean;         //A key
 VK_2: boolean;         //A key
 VK_3: boolean;         //A key
 VK_4: boolean;         //A key
 VK_5: boolean;         //A key
 VK_6: boolean;         //A key
 VK_7: boolean;         //A key
 VK_8: boolean;         //A key
 VK_9: boolean;         //A key
 VK_A: boolean;         //A key
 VK_B: boolean;         //A key
 VK_C: boolean;         //A key
 VK_D: boolean;         //A key
 VK_E: boolean;         //A key
 VK_F: boolean;         //A key
 VK_G: boolean;         //A key
 VK_H: boolean;         //A key
 VK_I: boolean;         //A key
 VK_J: boolean;         //A key
 VK_K: boolean;         //A key
 VK_L: boolean;         //A key
 VK_M: boolean;         //A key
 VK_N: boolean;         //A key
 VK_O: boolean;         //A key
 VK_P: boolean;         //A key
 VK_Q: boolean;         //A key
 VK_R: boolean;         //A key
 VK_S: boolean;         //A key
 VK_T: boolean;         //A key
 VK_U: boolean;         //A key
 VK_V: boolean;         //A key
 VK_W: boolean;         //A key
 VK_X: boolean;         //A key
 VK_Y: boolean;         //A key
 VK_Z: boolean;         //A key
 VK_NUMPAD0: boolean;   //Numeric keypad 0 key
 VK_NUMPAD1: boolean;   //Numeric keypad 1 key
 VK_NUMPAD2: boolean;   //Numeric keypad 2 key
 VK_NUMPAD3: boolean;   //Numeric keypad 3 key
 VK_NUMPAD4: boolean;   //Numeric keypad 4 key
 VK_NUMPAD5: boolean;   //Numeric keypad 5 key
 VK_NUMPAD6: boolean;   //Numeric keypad 6 key
 VK_NUMPAD7: boolean;   //Numeric keypad 7 key
 VK_NUMPAD8: boolean;   //Numeric keypad 8 key
 VK_NUMPAD9: boolean;   //Numeric keypad 9 key
 VK_MULTIPLY: boolean;  //Numeric keypad Multiply key
 VK_ADD: boolean;       //Numeric keypad Add key
 VK_SEPARATOR: boolean; //Numeric keypad Separator key
 VK_SUBTRACT: boolean;  //Numeric keypad Subtract key
 VK_DECIMAL: boolean;   //Numeric keypad Decimal key
 VK_DIVIDE: boolean;    //Numeric keypad Divide key
 VK_OEM_COMMA: boolean; //Punctuation
 VK_OEM_PERIOD: boolean;//Punctuation

 end;

 PMMFData = ^TMMFData;
 TMMFData = record
    NextHook : HHOOK;
    WinHandle : HWND;
    MsgToSend : DWORD;
    DisableKeyboard : boolean;
    BlockSystemKeys : boolean;
    HookInjected: boolean;
    BlockKeys: TBlockKeys;
    KeyHookStruct : TKbDllHookStruct;
 end;

implementation

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -