如何模拟键盘、鼠标的动作?(50分)

  • 主题发起人 主题发起人 rebeccarice
  • 开始时间 开始时间
R

rebeccarice

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在一个windows应用程序中,模拟一些键盘的点击动作?
比如 在Notepad 中, 按下 F4 键, 实现的动作是 (退格----逗号----进格)。
按下 F3 键, 实现(鼠标的左键双击-----键盘的‘f’键)。
 
模拟鼠标

鼠标移动(移动量dx,dy)
mouse_event(MOUSEEVENTF_MOVE,dx,dy,0,0);
鼠标在(x,y)处按下或释放
setcursorpos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
鼠标双击由两次按下与释放来模拟

键盘模拟

一般虚拟键值(VK_)由KeyDown或keyup事件得到
特殊键值
Tab--9
Shift--16
Ctrl--17
Alt--18
CapsLock--20
Esc--27
Win--91,92
NumLock--144
ScrollLock--145

按下键
keybd_event(key,MapVirtualKey(key,0),KEYEVENTF_KEYUP,0);
释放键
keybd_event(key,MapVirtualKey(key,0),0,0);

 
bswilson:
大侠,能否给个例子?能实现我上面说的两个例子就可以。
谢谢。
 
请各位帮帮我吧!
 
直接发一个EventMSG过去。
鼠标消息:
消息种类 :Integer;
横坐标 : integer;
纵坐标 : integer;
系统启动到发生消息的时间(1/1000S) : integer;
所在控件的句柄 : integer;
我写了一个程序, 可以记录K/M 动作并回放, 也可以编辑动作,不知合不合要求。
 
能否给我你的例子看看?
ricezj@163.com

 
后退
顶部