放大啦资源网 http://www.fangdala.com
当前位置首页 > 百科资料> 正文

sendinput

2023-02-23 12:15:00 暂无评论 百科资料

sendinput是一款函数合成键盘事件和鼠标事件,用来模拟鼠标或者键盘操作,事件将被插入在鼠标或者键盘处理队列里面,sendinput中包括的参数有cInputs、pInputs、cbSize。

sendinput返回值是成功插入操作事件的个数。如果插入出错可以利用GetLastError来查看错误类型。

  • 外文名称 sendinput
  • 适用平台 头文件 winuser.h
  • 返回值 成功插入了多少个操作事件
  • 实例 /*模拟鼠标单击100,200实例*/

函数说明

  该函数合成键盘事件和鼠标事件,用来模拟鼠标或者键盘操作。事件将被插入在鼠标或者键盘处理队列里面。

参数说明

  nInput 指定ninput 数组中元素的个数。就是插入事件的个数。

  pInput 指向一个类型为INPUT的数组变量,该数组中的每个元素代表一个将要插入到线程事件中去的键盘或鼠标事件。

  cbSize 指通承与定INPUT结构的大小。如果cbSize不是INPUT结构的大小,则函数将失败返回。

适用平台

  头文件 winu来自ser.h

  链接库 user32.dll

  使用INPUT等结构体企苗末高单判奏时,需要#include <winable.h>

注意事项

  注意到360百科插入的是INPUT结构的事件。故应该继续查看INPUT的相关内容。

  typedef struct tagINPUT {

  DWORD type; union {

  MOUSEINPUT mi;

  KEYBDINPUT ki;

困白重征业专全包  HARDWA本联烈落直怀王九老记在REINPUT hi; };

  } INPUT, *PINPUT, FAR* LPINPUT;

  现在应该比较明确了吧。

实例

  /*模拟鼠标单击100,200实例*/

  INPUT input;

  input.type = INPUT_MOUSE;

  input.mi.dx = static_cast<long>(65535.0f / (Ge机法欢银tSystemMetrics(SM_CXSCREEN) - 1) * 10交掉0);

  input.mi.dy = static_cast<long>(65535.0f / (GetSystemMetric里破医形且坏s(SM_CYSCREEN) - 1) * 200);

  混身相input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTDO容自医热威板跳搞编屋送WN | MOUSEEVENTF_LEFTUP;

  SendInput(1, &input, size氧宣of(INPUT));

猜你喜欢