请问怎样实现这样的功能?(100分)

  • 主题发起人 主题发起人 zzy9903
  • 开始时间 开始时间
Z

zzy9903

Unregistered / Unconfirmed
GUEST, unregistred user!
[:)][:)][:)][:)][:)]<br>我想作一个程序,当按下 F 键时就对操作系统发出一个 CTRL+ALT+P 组合键,请问这样的功能怎样实现?<br><br>注意该程序并不是当前窗口,CTRL+ALT+P 组合键也需要对任意程序都有效!<br><br>我是一个新手,请高手们帮帮忙讲的详细一点,谢谢了
 
将你的程序注册为服务程序常驻内存<br>监视键盘的动作,如果按下f建则发送消息api(sendmessage),<br>略微懂一点,见笑了。
 
服务?win98也有服务吗?我需要让它在win98和win2000系统中都好用
 
不是当前窗口?<br>向高人学习了。
 
用Hook啊,不难!
 
高手,你能详细说一下吗?我是新手不会呀
 
RegisterHotKey<br>注册系统热键 &nbsp;<br><br>自己全文检索一下
 
可以实现,但是好吗?只要按f键就触发事件,打字怎么办:(
 
这个您就甭担心了,打字时就把这个小程序关掉,只是在特定的时候需要.
 
找到CTRL+ALT+P 组合键的句柄,<br>发送一个组合消息POSTMESSAGE
 
to 群星:<br>怎样才能找到组合键的句柄呢?
 
还要在98上用?<br>那你的软件要象kenny.hu,说得那样了。<br>要不就用键盘钩子
 
现在我已经能截取f键了,请问各位大虾怎样才能发送 CTRL+ALT+P 组合键呢??
 
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);<br>keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), 0, 0);<br>keybd_event(Ord('P'), MapVirtualKey(Ord('P'), 0), 0, 0);<br>keybd_event(Ord('P'), MapVirtualKey(Ord('P'), 0), KEYEVENTF_KEYUP, 0);<br>keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), KEYEVENTF_KEYUP, 0);<br>keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0);
 
上面的高手,用这个方法确实能发送组合键,但是目标程序认不出来,还有其他的方法没啊???
 
那位高手知道怎样才能用sendmessage函数发送CTRL+ALT+P组合键阿?大家救救我!!
 
你要列举出系统所有进程得handel 然后sendmessage('');<br>
 
后退
顶部