程序如何中止(100分)

  • 主题发起人 主题发起人 chluo
  • 开始时间 开始时间
C

chluo

Unregistered / Unconfirmed
GUEST, unregistred user!
在windows下编了一个程序,当调用一个程序,运行结束后,会
出现一个dos窗口,如何把它杀掉?
 
用winexec('command /c 程序名 ',sw_hide);
 
情形是这样的,我调了一个在dos执行的程序,采用的是createprocess,然后
waitforsingleobject, 这个dos程序本身有一个退出按钮,通过跟踪发现,
当点了退出按钮后,waitforsingleobject不会返回,除非我自己手工地去点击
dos窗口的关闭纽,它才会返回,我希望把最后这一步去掉,不知道有没有方法?
 
试下
var
HWndCalculator : HWnd;
begin

// find the exist calculator window
HWndCalculator := Winprocs.FindWindow(nil, '你的DOS程序标题栏');
// close the exist Calculator
if HWndCalculator <> 0 then

SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
end;

 
你先记住dos窗口的关闭按钮的位置,当你要结束的时候,给这个Dos窗口发送鼠标抬起的消息
 

Application.terminate 就可以了
 
最好不要直接运行do
S 版本的 exe 文件,用它的 pif 文件运行,在其中设上自动
关闭。
 
多人接受答案了。
 
后退
顶部