728x90
안녕하세요, 일마레입니다.
오늘은 PC 프로세스 목록에 있는 프로그램을 종료하는 방법을 알려드리려고 해요.
프로그램의 프로세스 아이디를 얻어와서 종료하는 방법인데요.
아래 소스를 알려 드리도록 하겠습니다.
function KillTask(ExeFileName: string): Integer;
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOL;
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;
위에 안내해드린 함수를 작성해 놓으시고
프로그램 이름을 전달하여 종료하시면 됩니다.
procedure TForm1.ButtonClick(Sender: TObject);
begin
KillTask('test.exe');
end;
프로그램 소스는 다운받아 사용하실 수 있도록 첨부해 드리도록 하겠습니다.
많은 도움이 되셨기를 바라며, 행복한 하루 되세요 ^-^
728x90
LIST
'델파이' 카테고리의 다른 글
델파이/delphi] 델파이2009 uJson 사용하는 방법 (5) | 2024.07.24 |
---|---|
델파이/delphi] TMSNPopup 사용하기 (0) | 2024.07.22 |
델파이/delphi] 전화번호에 바 넣기 (0) | 2024.07.18 |
델파이/delphi ] 프로그램 Log 삭제 방법 (0) | 2024.07.17 |
델파이/Delphi] PING 테스트 (0) | 2024.07.15 |