首页  编辑  

如何终止一个程序

Tags: /超级猛料/OS.操作系统/Process.进程/   Date Created:
uses tlhelp32;
假设要终止的程序的文件名为:project2.exe,那么例程如下:
var
lppe:tprocessentry32;
sshandle:thandle;
hh:hwnd;
found:boolean;
begin
sshandle:=createtoolhelp32snapshot(TH32CS_SNAPALL,0);
found:=process32first(sshandle,lppe);
while found do
begin
 //进行你的处理其中lppe.szExefile就是程序名。
 if uppercase(extractfilename(lppe.szExeFile))='PROJECT2.EXE' then
 begin
   hh:=OpenProcess(PROCESS_ALL_ACCESS,true,lppe.th32ProcessID);
   TerminateProcess(hh,0);
 end;
 found:=process32next(sshandle,lppe);
end;
end;
********************
HANDLE hProcess
Windows NT/2000: The handle must have PROCESS_TERMINATE access.
For more information, see Process Security and Access Rights.
所以要先使用
DWORD SetSecurityInfo(
 HANDLE handle,                     // handle to object
 SE_OBJECT_TYPE ObjectType,         // object type
 SECURITY_INFORMATION SecurityInfo, // buffer
 PSID psidOwner,                    // new owner SID
 PSID psidGroup,                    // new primary group SID
 PACL pDacl,                        // new DACL
 PACL pSacl                         // new SACL
);