Poate ati avut vreodata nevoie sa stiti cum sa opriti un program ... poate acel program tinea deschis un fisier la care vroiati acces, sau poate era alta instanta a programului vostru ... dar cum sa inchizi un program ? :/
Easy as this:
function KillProgram(Exec: string): Boolean;
var CanSearch : Boolean;
FSnapshotHandle : THandle;
FProcessEntry32 : TProcessEntry32;
begin
Result := False;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
CanSearch := Process32First(FSnapshotHandle, FProcessEntry32);
while CanSearch do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(Exec))
or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(Exec))) then
Result := TerminateProcess(OpenProcess($1, false, ProcessEntry32.th32ProcessID), 0);
CanSearch := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
Spor la inchis programe
