vc模拟鼠标键盘操作实用类mouse_event
2010-08-04 13:05
639 查看
vc模拟鼠标键盘操作实用类
void mk::Click(int x, int y, int mSeconds){
SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
Sleep(mSeconds);
}
void mk::DClick(int x, int y, int mSeconds)
{
SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
Sleep(mSeconds);
}
void mk::Drag(int x1, int y1, int x2, int y2, int mSeconds)
{
SetCursorPos(x1,y1);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
SetCursorPos(x2,y2);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
Sleep(mSeconds);
}
void mk::RClick(int x, int y, int mSeconds)
{
SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
Sleep(mSeconds);
}
void mk::Key(BYTE k, int mSeconds)
{
keybd_event(k,0,0,0);
keybd_event(k,0,KEYEVENTF_KEYUP,0);
Sleep(mSeconds);
}
void mk::Key2(BYTE k1, BYTE k2, int mSeconds)
{
//法1
//keybd_event(k1, 0, 0 ,0);
//keybd_event(k2, 0, 0 ,0);
//keybd_event(k2, 0, KEYEVENTF_KEYUP,0);
//keybd_event(k1, 0, KEYEVENTF_KEYUP,0);
//法2,更通用,但须先#include "winable.h"
INPUT input[4];
memset(input,0,sizeof(input));
input[0].type=input[1].type=input[2].type=input[3].type=INPUT_KEYBOARD;
input[0].ki.wVk=input[3].ki.wVk=k1;
input[1].ki.wVk=input[2].ki.wVk=k2;
input[2].ki.dwFlags = input[3].ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(4, input, sizeof(INPUT));
使用虚拟的键盘和鼠标操作事件,可以使用程序来控制一些频繁执行的操作,做好的例子如:按键精灵,应该就是就是使用该函数实现的。
相关文章推荐
- vc模拟鼠标键盘操作实用类
- vc模拟鼠标键盘操作实用类
- vc模拟鼠标键盘操作实用类
- vc模拟鼠标键盘操作实用类
- vc模拟鼠标键盘操作实用类
- vc模拟鼠标键盘操作实用类
- vc模拟鼠标键盘操作实用类
- vc模拟鼠标键盘操作实用类
- 用Mouse_event()来模拟鼠标操作
- 用Mouse_event和Keybd_event来模拟鼠标和键盘
- vc2012模拟鼠标键盘操作事件
- keybd_event和mouse_event完全彻底细致的模拟鼠标键盘所有动作
- VC模拟鼠标的两种方式(SendMessage、mouse_event)
- 用Mouse_event()来模拟鼠标操作
- 模拟键盘、鼠标 mouse_event keybd_event
- vc模拟鼠标键盘操作实用类
- VC++鼠标、键盘的模拟操作
- keybd_event,mouse_event 模拟产生键盘事件、鼠标事件的使用
- 用Mouse_event()来模拟鼠标操作
- VC模拟鼠标的两种方式(SendMessage、mouse_event)