A
aynes
Unregistered / Unconfirmed
GUEST, unregistred user!
因为工作需要,我要用DELPHI来编程实现操作另一VB程序的目的(VB程序只有可执行文件)<br>我要实现的就是先打开VB程序,在界面(formA)上单击一个按钮,弹出另外一个界面(formB),再在上面的输入框中输入一些信息,然后再单击一个按键即可。<br><br>我用工具查看了一下,VB的FORM类是ThunderRT6FormDC(两个FORM都是一样了)<br>我的主要程序如下:<br> 回调函数:<br>function enumuserproc(hwnd:integer;lparam:longint):boolean;stdcall;<br>var<br> buffer:array[0..255] of char;<br>begin<br> result:=true;<br> getwindowtext(hwnd,buffer,256);<br> if buffer=str then begin<br> sendmessage(hwnd,wm_lbuttondown,mk_lbutton,0);<br> sendmessage(hwnd,wm_lbuttonup,mk_lbutton,0);<br> end;<br>end;<br><br> button中代码:<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> hwnd:integer;<br>begin<br> hwnd:=findwindow(nil,'资料传输');<br> if hwnd<>0 then begin<br> str:='上传设置';//按钮名<br> enumchildwindows(hwnd,@enumuserproc,0);<br> end;<br> hwnd:=findwindow(nil,'设置');<br> if hwnd<>0 then begin<br> str:='确定';//按钮名<br> enumchildwindows(hwnd,@enumuserproc,0);<br> end;<br>end;<br><br>程序想实现两个FORM上按钮的自动单击。<br>但是,我在DLEPHI程序上第一次单击按钮后,没有效果,<br>第二次单击按钮后,VB程序的form2出现,但此时并没有出现单击form2上按钮的效果(form2上的‘确定’按钮,没有被自动单击),delphi的程序就好像死掉一样,不能对其进行任何操作。但只要关闭VB的form2程序,delphi程序又自动恢复正常。<br><br>我尝试用delphi作了有两个form的程序作被调用的测试,但结果一切正常。<br><br>请问为什么VB的程序我要两次按按钮后才能调用,而且会出现上面所述的问题??????<br><br><br>分不多,请见谅