得到handle后如何向它发送特定消息(比如回车键)? (50分)

  • 主题发起人 主题发起人 峻祁连
  • 开始时间 开始时间

峻祁连

Unregistered / Unconfirmed
GUEST, unregistred user!
我如何得到一个外部程序(比如写字板)的handle,如何向它发送消息呢?比如发送一个<br>字符a,或者发送回车键?<br><br>如果我起点的外部程序还有其他的按钮,我要往特定的按钮上发送click消息,怎么办?
 
用FindWindow(nil,'写字板')可获得句柄<br>只要你获得控件的句柄后用SendMessage或是postmessage都可以实现
 
<br>发送回车的消息是哪个啊?<br>是这个吗?<br>sendmessage(hndApp,WM_CHAR,13,0);
 
sendmessage(hndApp,WM_CHAR,vk_enter,0);
 
给你一个例子.<br>var<br>hcrrentwindow:hwnd;<br>sztext:array[0..254] of char;<br>s:string;<br>begin<br>hcrrentwindow:=GetWindow(handle,GW_HWNDFIRST);<br>while hcrrentwindow&lt;&gt;0 do<br>begin<br>if GetWindowtext(hcrrentwindow,@sztext,255)&gt;0 then<br>begin<br>s:=strpas(@sztext);<br>if pos('Microsoft Excel',s)&lt;&gt;0 then//如果发现含有Microsoft Excel的窗口将其关闭。<br>SendMessage(hcrrentwindow,WM_CLOSE,0,0);<br>Memo1.Lines.Add(s);<br>end;<br>hcrrentwindow:=GetWindow(hcrrentwindow,GW_HWNDNEXT);<br>end;<br>end;
 
To 雨人<br>vk_enter 没有定义,这个东东在哪儿定义的 ?<br><br>To all<br>我用下面语句发送回车消息没反映,发送WM_Close消息什么的就可以成功。<br>sendmessage(hndApp,WM_CHAR,13,0);<br>大家说说,对已知句柄的按钮发送回车消息是怎么弄的?<br>不,其实我的目的是触发已知句柄的按钮,不一定要发送回车键了。
 
修改雨人的不好意思<br>sendmessage(hndApp,WM_CHAR,vk_return,0);<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;~~~~~~~~~~
 
sendmessage(btnhandle,bm_click,0,0);<br>好象是给这个button发送一个单击事件的,你试试看
 
senmessage后面参数的用法哪里可以查到?谢谢!
 
给按钮发送单击信息是:<br>SendMessage ( bH,BM_Click, 0,0 ) ;
 
多人接受答案了。
 
后退
顶部