如何用delphi语言实现结束指定进程的功能

来源:百度知道 编辑:UC知道 时间:2024/05/20 22:10:30
请高手指点,本人新手,最好写出完整的代码,不要只取其中一段。谢谢
最近做一个防止孩子聊天的软件,需要禁止QQ进程,请大家帮帮忙
你这个是某个事件触发后关闭 我的意思是不仅要关闭还要禁止它再次运行,所以说明了要完整地源码,而不是某段,你写的这段网上有,我也使用了,请告诉我怎么关闭进程后禁止它再次运行。

uses
Tlhelp32;

function KillTask(ExeFileName:string):integer;
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOLean;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
Result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(
OpenProcess(PROCESS_TERMINATE,
BOOL(0),
FProcessEntry32.th32ProcessID),
0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;

调用