键盘模拟的进程之间的通讯问题? ( 积分: 200 )

  • 主题发起人 主题发起人 kk2000
  • 开始时间 开始时间
K

kk2000

Unregistered / Unconfirmed
GUEST, unregistred user!
也就是我想做一个通用的键盘模拟程序! 别人的程序我的键盘照样能进行输入?
大家给一些思路和方法?
 
用 keybd_event 发送键盘信息即可。
 
呵呵! 没那么简单啊. 你试一下
 
别人的程序 键盘就不能输入了吗
 
ysp娃娃: 我是说我的模拟键盘程序,而不是硬件的键盘.
 
不知你遇到了什么问题,用keybd_event是可以发送键盘按键信息的,不只一次用过
当然,有一个前提,你的程序不能获得焦点,否则按键信息就被你自己接收了。
 
有一个前提,你的程序不能获得焦点 那就请教一下怎么让自己的程序不能获得焦点??
 
可以在执行 keybd_event之前把目标窗体Bring到最前面来。
也可以搞个象输入法软键盘这样的窗体,它是不会接收焦点的。
 
是不是要作软件自动分发功能呢!呵呵!
1.把应用软件提为顶部窗口!
findowndow-->uhwnd;
movewindows(uhwnd,topmost);
2.记住每个步骤的按键,例如Alt_N (next,下一步),模拟每一步的按键:
keybd_event(ALT,压下);
keybd_event(byte('N'),压下);
application.processmessage;
keybd_event(byte('N'),释放);
keybd_event(ALT,释放);
模拟一次Alt_N(下一步)按钮的按键,其他类是!
3.考虑中间出现意外情况,所以每次模拟后要停止5秒左右!
其他的自己研究!思路已近差不多了!
 
谁还有什么办法啊??
 
今天晚上结贴! 我现在的思路是使用获取当前有焦点的窗口句柄,然后通过发送消息解决问题. 其中使用的技术就是HOOK.
 
WinXP/2K下需要先进入别人线程的输入空间:
AttacheThreadInput
 
AttacheThreadInput 我知道不过我使用得不怎么好.
 
多人接受答案了。
 
后退
顶部