0 023zcl Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-22 #1 用我的程序打开一个外部程序,如何等到它的窗口弹出后才执行后面的代码?用WaitforSingleObject能实现吗?怎样实现?或者还有其他方法?
0 023zcl Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-22 #2 用我的程序打开一个外部程序,如何等到它的窗口弹出后才执行后面的代码?用WaitforSingleObject能实现吗?怎样实现?或者还有其他方法?
S Shenxinaz Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-23 #3 你可以通过一个Repeat循环,在其中等待,不停的检测那个窗口的句柄(用API FindWindow( LPCTSTR lpClassName, // pointer to class name<br> LPCTSTR lpWindowName // pointer to window name)<br>如果找到了,那么就继续,再循环中记得用 Processmessage 来释放消息.<br>你可以先用Delphi 自带的 WinSight找出 ClassName和WindowName
你可以通过一个Repeat循环,在其中等待,不停的检测那个窗口的句柄(用API FindWindow( LPCTSTR lpClassName, // pointer to class name<br> LPCTSTR lpWindowName // pointer to window name)<br>如果找到了,那么就继续,再循环中记得用 Processmessage 来释放消息.<br>你可以先用Delphi 自带的 WinSight找出 ClassName和WindowName
U uplink Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-23 #4 同意 shenxinaz 的观点!不加processmessage,你什么都干不了!
0 023zcl Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-23 #5 to Shenxinaz,uplink,我是个初入门者,Processmessage怎么用?望举例。我在MSDN里面看了半天也没看明白。
S Shenxinaz Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-23 #6 大概就这样吧<br>repeat <br>begin<br> if findwindow('TForm','MainProgram')>0 then A:=1<br> Application.processmessage;<br> Application.processmessage;<br> Application.processmessage;<br> Application.processmessage;<br>end<br>until A=1;
大概就这样吧<br>repeat <br>begin<br> if findwindow('TForm','MainProgram')>0 then A:=1<br> Application.processmessage;<br> Application.processmessage;<br> Application.processmessage;<br> Application.processmessage;<br>end<br>until A=1;
0 023zcl Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-24 #7 谢谢Shenxinaz!我的目标已实现。在你的例子中“A:=1”后面加个分号就没有语法错误了。