关闭程序(50分)

  • 主题发起人 主题发起人 hikehilter
  • 开始时间 开始时间
H

hikehilter

Unregistered / Unconfirmed
GUEST, unregistred user!
如何关闭一个project.exe程序,无标题和窗体。。。。即使有也是标题名和类名也是常
变动的,有什么关法关闭?
 
类名也是变动的?可能吗?
 
我的程序会自动启动一个外部程序,这个外部程序有很多种,但都是无标题和不知道类名的,
只是有统一的应用程序名。所以现在我想办法关闭它。用FINDWINDOWS用不了。
 
来自:jsxjd, 时间:2002-11-22 12:19:00, ID:1450931
-----------------------------------------------------------------

获得进程列表,并终止 Excel 进程
procedure TForm1.Button1Click(Sender: TObject);
var
FSnapshotHandle:THandle;
FProcessEntry32:TProcessEntry32;
Ret : BOOL;
ProcessID : integer;
s:string;
begin
FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
Ret:=Process32First(FSnapshotHandle,FProcessEntry32);
Memo1.clear;
while Ret do
begin
Memo1.lines.add(FProcessEntry32.szExeFile);
s:=ExtractFileName(FProcessEntry32.szExeFile);
if s='EXCEL.EXE' then
begin
ProcessID:=FProcessEntry32.th32ProcessID;
TerminateProcess(OpenProcess(PROCESS_TERMINATE,false,ProcessID),1);
s:='';
end;
Ret:=Process32Next(FSnapshotHandle,FProcessEntry32);
end;
end;
 
如果是你的程调用就好办了。
用CREATEPROCESS调用改程序,就可以得到一个HANDLE,
然后TerminateProcess 就行了。
 
多人接受答案了。
 
后退
顶部