如何激活另一个程序的按键(60分)

  • 主题发起人 主题发起人 ml.guo
  • 开始时间 开始时间
M

ml.guo

Unregistered / Unconfirmed
GUEST, unregistred user!
&nbsp; &nbsp;我想在进入WIN98后自动启动一个程序A,但该程序总是要在手动输入用户名及<br>密码,然后点确定后才能进入,很烦!<br>现在的想法是写个程序B控制程序A真正是自动进入,即程序A和B自动运行后,由程序B控制对A输入用户、密码及确定按键。<br>
 
既然自动进入,你的用户、密码、确定按钮有什么用呢?<br>不是黑客程序吧?
 
先得到程序A两个编辑框的窗口句柄,再向两个编辑框发送消息,<br>接着再得到按键的句柄,再向按键发送消息。(基本思路)
 
李衍智;<br>&nbsp; 我又不是通过程序偷取别人的密码,怎可叫黑客程序呢?用户、密码我是已经知道的。<br>林枫:<br>&nbsp; 能不能举个例子?<br>
 
那你肯定要把用户名及密码固化在程序B中,不然怎么控制A?<br>不会再要作个C来操作B吧? &nbsp; [:D]
 
获得edit的句柄,然后发送消息.<br>可以先获得window handle,然后得到edit handle
 
不怎么可能的,你要做什么呢?
 
FindWindow() &nbsp;主窗体handle<br>FindWindowEX() &nbsp;子控件handle<br>SendMessage() &nbsp;发送文本,按下按键..<br>简单.研究研究便知道了.<br>例程这里有,比如说你net send xxx<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; Handle,HB:THandle;<br>&nbsp; Buf: array[0..1024] of Char;<br>begin<br>&nbsp; Handle:=FindWindow(nil,'信使服务 ');//注意,后面有一个空格<br>&nbsp; HB:=FinWindowEX(Handle,0,'button','确定');<br>&nbsp; Handle:=FindWindowEX(Handle,0,'static',nil);<br>&nbsp; SendMessage(Handle, WM_GETTEXT, 1024, Integer(@Buf));<br>&nbsp; Memo1.Text:=buf;<br>&nbsp; SendMesssage(HB, BM_CLICK ,0,0);<br>&nbsp; SendMesssage(HB, BM_CLICK ,0,0);<br>&nbsp; end;<br><br>就这么个意思.<br>
 
都说了,没有什么好说的了
 
多人接受答案了。
 
后退
顶部