myamanda

博客园 首页 新随笔 联系 订阅 管理
使用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;
posted on 2009-07-14 13:06  myamanda  阅读(203)  评论(0)    收藏  举报