模拟按其他应用的按键(200分)

  • 主题发起人 主题发起人 xuwh
  • 开始时间 开始时间
X

xuwh

Unregistered / Unconfirmed
GUEST, unregistred user!
我获得了其他应用的一个BUTTON的句柄后(的确拿到了),<br>向它SENDMESSAGE,希望模拟按键效果,为什么没有反应呢?<br>如果向EDIT发送WM_CHAR就可以有效果。<br>代码如下:<br>&nbsp; &nbsp; HMain := FindWindow(nil, 'XXXX');<br>&nbsp; &nbsp; if (HMain = 0) then Exit;<br>&nbsp; &nbsp; HReply := HMain;<br>&nbsp; &nbsp; EnumChildWindows(HReply,@GetReplyProc,Integer(@HReply));<br>&nbsp; &nbsp; SendMessage(HReply,WM_CHAR,Ord('r'),0);<br>我也试过发送KEYDOWN/UP消息,可是不知道带ALT的组合键怎么按。<br>全文检索没有我需要的。好像这个从来都没有完整解决过。
 
发消息按鼠标<br>&nbsp; SendMessage(HReply,WM_LBUTTONDOWN,0,0);<br>&nbsp; SendMessage(HReply,WM_LBUTTONUP,0,0);<br>
 
多谢,不过好像并不是所有的情况都可以响应的。<br>是不是和当时窗体上焦点所在位置有关?
 
和焦点没关系,只要取得它的句柄<br>
 
接受答案了.
 
后退
顶部