求教如何实现按键自动按下(100分)

  • 主题发起人 主题发起人 wlaila
  • 开始时间 开始时间
W

wlaila

Unregistered / Unconfirmed
GUEST, unregistred user!
求教如何实现按键自动按下
 
如果是你自己写的程序,应当很容易实现。
如果控制别人写的程序,可以给这个程序发送鼠标或键盘的消息。
如果想控制键盘...:《
 
在哪里自动按下?说详细点啊
 
就是不用按键盘就能产生按键盘某个键位作用的问题(刚学,太简单了吧,好像就一个函数问题)
 
举例:
//发送虚拟键值ctrl V
procedure sendpaste;
begin
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0);
keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), 0, 0);
keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0);
end;
 
我记得有一个函数就可以搞定,这么麻烦吗?就是读键值的那个函数
 
这还麻烦?它可是模拟了两个键同时按下,如果是一个键,两行就可以了。[:)]
 
tab键呢?
 
同理
keybd_event(ord('V'), MapVirtualKey(VK_TAB, 0), 0, 0);
keybd_event(ord('V'), MapVirtualKey(VK_TAB, 0), KEYEVENTF_KEYUP, 0);
 
不对阿,你自己试一试
 
哦,是笔误,应该是这样:
keybd_event(VK_TAB, MapVirtualKey(VK_TAB, 0), 0, 0);
keybd_event(VK_TAB, MapVirtualKey(VK_TAB, 0), KEYEVENTF_KEYUP, 0);
 
基本上搞定,不过第二行等省略,否则就跳两行。
 
tab 是比较特殊的.
 
接受答案了.
 
后退
顶部