Windows에서 Delphi 코드로 프로세스를 죽이거나 자신을 죽인다

1138 단어 Delphi
Windows에서 프로세스 죽이기
1. 명령을 사용하여 프로세스를 죽인다. 전제는 당신이 프로세스 ID를 알고 있다는 것이다.Windows 작업 관리자를 사용하여 실행 중인 프로세스의 프로세스 ID를 볼 수 있습니다.명령줄 명령netstat -nao를 사용하여 현재 네트워크에 연결된 프로세스와 ID를 볼 수 있습니다.
프로세스 ID를 알면 명령줄에 다음 명령을 입력하면 프로세스를 죽일 수 있습니다:ntsd -c q -p "pid"
2. 다른 프로세스를 죽인다. 전제는 우리가 이 프로세스의 주Form의 제목을 알고 있다는 것이다(Delphi에서 주Form.Caption):
procedure KillProgram(WindowTitle : string);  
const  
  PROCESS_TERMINATE = $0001;  
var  
  ProcessHandle : THandle;  
  ProcessID: Integer;  
  TheWindow : HWND;  
begin  
  TheWindow := FindWindow(nil, PChar(WindowTitle));  //WindowTitle          FORM.CAPTION
  GetWindowThreadProcessID(TheWindow, @ProcessID);  
  ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);  
  TerminateProcess(ProcessHandle,4);  
end;  

3. 자신을 죽인다(프로그램 자살):
procedure TForm1.Button1Click(Sender: TObject);
var
  ProcID: DWord;
  H, ProH: THandle;
begin
  GetWindowThreadProcessId(Application.Handle, ProCID);
  ProH := OpenProcess(PROCESS_ALL_ACCESS, True, ProcID);
  TerminateProcess(ProH, 0);
end;

상술한 코드는 현재 이 코드를 실행하고 있는 프로그램을 스스로 죽였다.

좋은 웹페이지 즐겨찾기