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

📄 winuser.pas

📁 详细Windows API大全有关知识以及相关问题
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  {$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 + -