用keybd_event、mouse_event是否可以在指定的窗口中发生(20分)

  • 主题发起人 主题发起人 amateurpp
  • 开始时间 开始时间
A

amateurpp

Unregistered / Unconfirmed
GUEST, unregistred user!
windows中的计算器程序,只要按Ctrl+C就可以将文本框中的数字拷贝下来,我希望模拟这个过程,不知道keybd_event如何让指定的窗口发生keybd_event,所以就用sendmessage,但是还不行,希望高手帮我解决,要是keybd_event或mouse_event可以让指定的窗口执行键盘或鼠标事件,请指明。。。谢谢<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; tt : Thandle;<br>begin<br>&nbsp; tt:=findwindow('SciCalc','计算器');<br>&nbsp; sendmessage(tt,WM_KEYDOWN,VK_CONTROL,0);<br>&nbsp; sendmessage(tt,WM_KEYDOWN,67,0);<br>&nbsp; sendmessage(tt,WM_KEYUP,67,0);<br>&nbsp; sendmessage(tt,WM_KEYUP,VK_CONTROL,0);<br>end;
 
没有这个说法,keybd_event送出的键盘消息由系统处理,哪个窗体是当前活动窗口就发到哪里。
 
你说的我理解了,但是我想将键盘消息发到指定的窗口(不是当前活动窗口),用sendmessage不知道如何实现啊?帮忙
 
用PostMessage吧,SendMessage要等消息被处理完才返回的。
 
要用键盘鼠标钩子
 
我想,用sendmessage或是postmessage一定可以的,只是想知道具体如何做
 
不会很难啊,帮帮忙
 
SendMessage(Handle, WM_CHAR, Integer(Ch), 0)
 
我最近用过某软件,叫按键精灵。功能还可以。它有个“输入文本”的功能,<br>可以将指定的中文“打”到指定的程序。我想了想,SENDMESSAGE应该不可以<br>发中文过去吧,它是怎么实际的?有谁知呀?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
502
import
I
后退
顶部