使用API函数'ExecuteProcess'执行一个应用程序,使用'TerminateProcess'终止它。
以下是一个例子:
var
MyHandle: THandle;
MyStartupInfo: TStartupInfo;
MyProcessInfo: TProcessInformation;
procedure TMyForm.ExecuteApp(MyPath: String);
begin
FillChar(MyStartupInfo, SizeOf(MyStartupInfo), 0);
//清除MyStartupInfo中的数据
MyStartupInfo.cb:=SizeOf(MyStartupInfo);
CreateProcess(PChar(MyPath), nil, nil, nil, False,
DETACHED_PROCESS, nil, nil, MyStartupInfo,
MyProcessInfo);
MyHandle:=MyProcessInfo.hProcess;
//把执行的程序的句柄赋值给MyHandle,它会在终止程序时用到
end;
procedure TMyForm.CloseApp(MyHandle: THandle);
begin
TerminateProcess(MyHandle, 0);
end;
转载于:https://www.cnblogs.com/myamanda/articles/1523177.html