模拟键盘、鼠标 mouse_event keybd_event
来源:互联网 发布:阿里云幕布背景照片 编辑:程序博客网 时间:2024/05/19 16:06
MSDN 讲解:http://msdn.microsoft.com/en-us/library/ms646304(v=vs.85).aspx
中文讲解:http://dev.firnow.com/course/3_program/c++/chs/2007114/83592.html
keybd_event
keybd_event(65,0,0,0);
keybd_event(65,0,KEYEVENTF_KEYUP,0);
[keybd_event]常用模拟键的键值对照表。 实际上就是ASCII值 可以百度下。
mouse——event: 转自:http://sunnymelon.iteye.com/blog/348457
这个函数在user32.dll这个库文件里面。我们可以在C:/WINDOWS/system32(XP系统)这个目录下找到这个文件,他是系统自带的。 我们以C#直接调用这个文件中的API为例子来说下怎么进行鼠标操作,首先在我们C#中声明引用,如果是一个基于From的程序,这个声明的位置写在你的From class就可以了
[System.Runtime.InteropServices.DllImport("user32")]
private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
参数 意义
dwFlags Long,下表中标志之一或它们的组合
dx,dy Long,根据MOUSEEVENTF_ABSOLUTE标志,指定x,y方向的绝对位置或相对位置
cButtons Long,没有使用
dwExtraInfo Long,没有使用
dwFlags常数 意义
const int MOUSEEVENTF_MOVE = 0x0001; 移动鼠标
const int MOUSEEVENTF_LEFTDOWN = 0x0002; 模拟鼠标左键按下
const int MOUSEEVENTF_LEFTUP = 0x0004; 模拟鼠标左键抬起
const int MOUSEEVENTF_RIGHTDOWN = 0x0008; 模拟鼠标右键按下
const int MOUSEEVENTF_RIGHTUP = 0x0010; 模拟鼠标右键抬起
const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; 模拟鼠标中键按下
const int MOUSEEVENTF_MIDDLEUP = 0x0040; 模拟鼠标中键抬起
const int MOUSEEVENTF_ABSOLUTE = 0x8000; 标示是否采用绝对坐标
程序中我们直接调用mouse_event函数就可以了
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 500, 500, 0, 0);
1、这里是鼠标左键按下和松开两个事件的组合即一次单击:
mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
2、模拟鼠标右键单击事件:
mouse_event (MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 )
3、两次连续的鼠标左键单击事件 构成一次鼠标双击事件:
mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
4、使用绝对坐标
MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 500, 500, 0, 0
需要说明的是,如果没有使用MOUSEEVENTF_ABSOLUTE,函数默认的是相对于鼠标当前位置的点,如果dx,和dy,用0,0表示,这函数认为是当前鼠标所在的点。5、直接设定绝对坐标并单击
mouse_event(MOUSEEVENTF_LEFTDOWN, X * 65536 / 1024, Y * 65536 / 768, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, X * 65536 / 1024, Y * 65536 / 768, 0, 0);
其中X,Y分别是你要点击的点的横坐标和纵坐标
- 模拟键盘、鼠标 mouse_event keybd_event
- mouse_event(模拟鼠标)和keybd_event(模拟键盘)
- 用Mouse_event和Keybd_event来模拟鼠标和键盘
- keybd_event,mouse_event 模拟产生键盘事件、鼠标事件的使用
- keybd_event和mouse_event完全彻底细致的模拟鼠标键盘所有动作
- 模拟键盘、鼠标输入keybd_event
- 模拟键盘、鼠标输入---玩转keybd_event
- 模拟键盘、鼠标输入---玩转keybd_event
- vc模拟鼠标键盘操作实用类mouse_event
- mouse_event模拟鼠标点击
- mouse_event & keybd_event
- Mouse_event Keybd_event
- VB 模拟鼠标点击 Mouse_Event
- mouse_event 鼠标模拟(转集)
- keybd_event,mouse_event函数使用方法
- c# 调用API mouse_event 模拟鼠标事件
- 用Mouse_event()来模拟鼠标操作
- c# 调用API mouse_event 模拟鼠标事件
- 工作学习论
- SQL常用函数--转换函数
- Vim
- Android frambuffer 驱动的简要解析
- SQL子句
- 模拟键盘、鼠标 mouse_event keybd_event
- struts防止重复提交
- java 读取工程下面的配置文件
- 表的连接(一)
- 实时传输协议RTP
- 表的连接(二)
- Web Site 与 Web Application 的区别
- Bean的作用域
- pc使用利器,适合长期使用pc的人们