怎么判断一个程序正在运行当中。
不用 FindWindow 就是呢我在我的程序里调用执行了另外一个外部的程序(用EXEC)。
程序要求是:当那个外部的程序执行时。我的程序处于要处于暂停状态。当那个外部的程序执行完成后。我的程序才继续执行下去。我用 FindWindow 实现过,就是占用系统资源太厉害了。不知各位大侠又没有更好的办法。另外。我想问一下。怎么结贴?
不用 FindWindow 就是呢我在我的程序里调用执行了另外一个外部的程序(用EXEC)。
程序要求是:当那个外部的程序执行时。我的程序处于要处于暂停状态。当那个外部的程序执行完成后。我的程序才继续执行下去。我用 FindWindow 实现过,就是占用系统资源太厉害了。不知各位大侠又没有更好的办法。另外。我想问一下。怎么结贴?
当我用EXEC启动那个外部程序后。我就用 findwindow 不停的查找那个外部程序,如果找到了。就认为那个外部程序还在运行。找不到了 就认为那个外部程序结束了。我的程序才继续执行下去,这样的一个缺点是我的程序要不停的循环的查找。导致系统资源的浪费。我想找一种更简单的方法。就是占用系统资源少一点的
我记得CreateProcess里有一个标志可以的。
var
CmdLinePChar:array[0..120] of char;
StartUpInfo:TStartUpInfo;
ProcessInfo:TProcessInformation;if CreateProcess(nil,CmdLinePChar,nil,nil,True,0,nil,nil,StartUpInfo,ProcessInfo) then
begin
WaitForSingleObject(Processinfo.hProcess,INFINITE);
end