delphi 我该如何关闭外部程序 >>>>>&拜托了各位 谢谢
我要通过ShellEx调用一个外部程序,当外部程序关闭时也将关闭我的程序,所以需要监控外部程序的运行。我的设想是由ShellEx可以获得外部程序的Handle,当检测该H...
我要通过ShellEx调用一个外部程序,当外部程序关闭时也将关闭我的程序,所以需要监控外部程序的运行。我的设想是由ShellEx可以获得外部程序的Handle,当检测该Handle对应的窗体不存在是,就将主程序关闭,关键是如何检测?
展开
1个回答
展开全部
怎样监视调用的程序是否已经结束看看这个例子:function WinExecAndWait32(FileName:String; Visibility : integer)array of char;zCurDir:array of char;WorkDir:String;tempResult TStartupInforocessInfo:TProcessInformation;beginStrPCopy(zAppName,FileName);GetDir(0,WorkDir);StrPCopy(zCurDir,WorkDir);FillChar(StartupInfo,Sizeof(StartupInfo),#0);StartupInfo.cb Sizeof(StartupInfo);StartupInfo.dwFlags STARTF_USESHOWWINDOW;StartupInfo.wShowWindow Visibility;if not CreateProcess(nil,zAppName, nil, nil, false, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,nil, nil, StartupInfo, ProcessInfo) then Result -1 else beginWaitforSingleObject(ProcessInfo.hProcess,INFINITE);GetExitCodeProcess(ProcessInfo.hProcess,Result);Result tempResult;end;end; 查看更多答案>>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询