procedure KillProcess(ProcessClass_Name: string);
const
PROCESS_TERMINATE = $0001;
var
P_ID: Integer;
P_Handle: THandle;
P_ProcessHandle: THandle;
begin
P_ProcessHandle := FindWindow(PChar(ProcessClass_Name), nil);
if P_ProcessHandle < 32 then
exit;
GetWindowThreadProcessId(P_ProcessHandle, @P_ID);
P_Handle := OpenProcess(PROCESS_TERMINATE, FALSE, P_ID);
TerminateProcess(P_Handle, 4);
CloseHandle(P_Handle);
end;
현재는 위와 같이 핸들 값으로 process를 kill하도록 되어 있습니다.
그런데 Setparent를 사용하였더니 차일드의 핸들값이 0가 되어버리네요....
그래서 프로세스를 킬 할때 문제가 생겼습니다.
핸들 값 말고 작업관리자에 보면 이미지 이름 이 있는데..
그 이름값으로 접근을 해서 프로세스를 죽일 수 있는 방법이 있나 알고 싶습니다.
아니면 혹시 원칙적으로는 프로세스에 핸들값을 사용자가 지정할 수 없다고 알고 있지만,
프로세스에 핸들 값을 새로 입력 해줄수 있는 방법이 있는지 궁금합니다.
그럼 부탁드립니다.