windows.h笔记- 鼠标键盘操作函数

目录

说明

函数

释义

示例

鼠标移动

鼠标点击

获取鼠标箭头所在坐标

键盘敲击


说明

        鼠标键盘的操作由函数mouse_event()和keybd_event()完成。

函数

  1. int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo)
  2. int keybd_event(int bVk, int bScan, int dwFlags, int dwExtraInfo)

释义

  1. 鼠标操作函数。形参含义:[dwFlags] 枚举参数,指定鼠标操作类型,如MOUSEEVENTF_LEFTDOWN为“左键按下”;[dx] 横坐标值相关;[dy] 纵坐标值相关;[cButtons] 鼠标中键值相关;[dwExtraInfo] 附加信息, 一般设为0。
  2. 键盘操作函数。形参含义:[bVk] 按键码;[bScan] 硬件扫描码,一般设为0;[dwFlags] 枚举参数,指定按键操作类型,如KEYEVENTF_EXTENDEDKEY为“按下”;[dwExtraInfo] 附加信息, 一般设为0。

示例

        常用鼠键操作整理如下:

  • 鼠标移动

方法一(标准方法):

//下列调用可将鼠标箭头移动到屏幕坐标40,790的位置。
//实参中数字1280和800是屏幕分辨率;40和790是鼠标要移动到的屏幕坐标。
//MOUSEEVENTF_ABSOLUTE表示(40,790)是绝对坐标;MOUSEEVENTF_MOVE表示移动鼠标。
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 40 * 65536 / 1280, 790 * 65536 / 800, 0, 0);

方法二:

//该函数可自动识别分辨率,并以绝对坐标方式移动鼠标箭头到(200,200)位置。
SetCursorPos(200, 200);
  • 鼠标点击

//下列示例使鼠标在当前位置进行一次左键单击操作。
//注意单击操作只需把MOUSEEVENTF_LEFTDOWN和MOUSEEVENTF_LEFTUP拼一起即可,
//如果单独的则为只按下或只弹起。
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
  • 获取鼠标箭头所在坐标

POINT p;
GetCursorPos(&p);
cout << p.x << "," << p.y << endl;
  • 键盘敲击

//敲击一下Caps Lock键
keybd_event(20, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(20, 0, KEYEVENTF_KEYUP, 0);

PS:按以上示例,鼠标点击操作需要两次函数调用,即移动鼠标和点击鼠标。实际上可以通过一次函数调用完成这两步操作:

//鼠标左键单击点40,790
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP | MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, 40 * 65536 / 1280, 790 * 65536 / 800, 0, 0);

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值