如何判断一个软件运行完毕 如何判断一个软件运行完毕!我想的是写一个扫描器,端口扫描器,S扫描器,当S扫描器运行完毕以后,自动执行下一个程序!该怎样判断啊!意思就是先运行一个软件,运行完毕后,在自动运行下一个软件!希望高手可以帮我下! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以采取执行并等待的策略:function WinExecAndWait32(APath: PChar; ACmdShow: Integer; ATimeout: Longword): Integer;var vStartupInfo: TStartupInfo; vProcessInfo: TProcessInformation;begin FillChar(vStartupInfo, SizeOf(TStartupInfo), 0); with vStartupInfo do begin cb := SizeOf(TStartupInfo); dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK; wShowWindow := ACmdShow; end; if CreateProcess(nil, APath, nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, vStartupInfo, vProcessInfo) then Result := WaitForSingleObject(vProcessInfo.hProcess, ATimeout) else Result := GetLastError;end;procedure TForm1.Button1Click(Sender: TObject);begin WinExecAndWait32('notepad.exe', SW_SHOW, INFINITE);end; zswang 总是抢生意,哎,晚来一步 -_-!!! 一个接一个执行WinExecAndWait32('c:\temp\a.exe', SW_SHOW, INFINITE);WinExecAndWait32('c:\temp\c.exe', SW_SHOW, INFINITE);WinExecAndWait32('c:\temp\d.exe', SW_SHOW, INFINITE);..... 怎么样得到其他程序或操作系统下点击鼠标的消息? 各位大虾碰到过这种问题吗?报表控件不能加到窗口,一加delphi就自动关闭 请教关于ADOTable的问题! 关于鼠标! 将窗体关闭后,想重新load此窗体(重新执行一遍formcreate过程),应该如何办?? 很多问题有待解决,能解决者+++++++++++++++分+++++++ 有多少朋友在使用abc for d6,觉的怎样 请教:如何获得wav文件的波形 请问怎样将求和得到的数据存入变量中?使用的是SQL! 诚心求助,保证送分 delphi 中如何声明 api 函数 关于事务机制
function WinExecAndWait32(APath: PChar; ACmdShow: Integer;
ATimeout: Longword): Integer;
var
vStartupInfo: TStartupInfo;
vProcessInfo: TProcessInformation;
begin
FillChar(vStartupInfo, SizeOf(TStartupInfo), 0);
with vStartupInfo do
begin
cb := SizeOf(TStartupInfo);
dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
wShowWindow := ACmdShow;
end;
if CreateProcess(nil, APath, nil, nil, False,
NORMAL_PRIORITY_CLASS, nil, nil,
vStartupInfo, vProcessInfo) then
Result := WaitForSingleObject(vProcessInfo.hProcess, ATimeout)
else Result := GetLastError;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
WinExecAndWait32('notepad.exe', SW_SHOW, INFINITE);
end;
WinExecAndWait32('c:\temp\c.exe', SW_SHOW, INFINITE);
WinExecAndWait32('c:\temp\d.exe', SW_SHOW, INFINITE);
.....