Delphi WinAPI INPUT 输入结构 (winuser.h) 、tagINPUT

Delphi WinAPI INPUT 输入结构 (winuser.h) 

常用于SendInput 合成输入事件(如击键、鼠标移动和鼠标单击)的信息。

原型:

1
2
3
4
5
6
7
8
typedef struct tagINPUT {
  DWORD type;
  union {
    MOUSEINPUT    mi;
    KEYBDINPUT    ki;
    HARDWAREINPUT hi;
  } DUMMYUNIONNAME;
} INPUT, *PINPUT, *LPINPUT;

Delphi中的定义:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const
  {$EXTERNALSYM INPUT_MOUSE}
  INPUT_MOUSE = 0;
  {$EXTERNALSYM INPUT_KEYBOARD}
  INPUT_KEYBOARD = 1;
  {$EXTERNALSYM INPUT_HARDWARE}
  INPUT_HARDWARE = 2;
 
type
  PInput = ^TInput;
  {$EXTERNALSYM tagINPUT}
  tagINPUT = packed record
    Itype: DWORD;
    case Integer of
      0: (mi: TMouseInput);
      1: (ki: TKeybdInput);
      2: (hi: THardwareInput);
  end;
  TInput = tagINPUT;

参数:

Type: DWORD  //输入事件的类型。此成员可以是以下值之一。

  • INPUT_MOUSE   //0   //事件是鼠标事件。使用联合体的mi结构。参考链接
  • INPUT_KEYBOARD  //1   //此事件是键盘事件。使用联合体的ki结构。
  • INPUT_HARDWARE   //2   //该事件是硬件事件。使用联合体的hi结构。

 

 

 

 

创建时间:2021.06.28  更新时间:

posted on   滔Roy  阅读(304)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
历史上的今天:
2019-06-28 [原创] delphi Memo 滚动到底部/开始 [Delphi XE、Delphi 7]

导航

点击右上角即可分享
微信分享提示