Einzelnen Beitrag anzeigen

stockholm

Registriert seit: 31. Okt 2008
Ort: Reichenbach an der Fils
16 Beiträge
 
RAD-Studio 2009 Pro
 
#3

Re: Prozess ohne Nachfrage beenden

  Alt 9. Dez 2008, 13:44
Zitat von Luckie:
Wenn du den Prozess mit MSDN-Library durchsuchenterminateProcess beendest, dann fragt das Programm unter Garantie nicht mehr nach, weil es das gar nicht. Nach einem Genickschuss, sagst du nämlich auch nichts mehr.
Ich ich da nun seit gut 2 Stunden dran und nahe einer Explosion

Delphi-Quellcode:
procedure KillProcess(hWindowHandle: HWND);
var
  hprocessID: INTEGER;
  processHandle: THandle;
  DWResult: DWORD;
begin
  SendMessageTimeout(hWindowHandle, WM_CLOSE, 0, 0,
    SMTO_ABORTIFHUNG or SMTO_NORMAL, 5000, DWResult);
  if isWindow(hWindowHandle) then
  begin
    { Get the process identifier for the window}
    GetWindowThreadProcessID(hWindowHandle, @hprocessID);
    if hprocessID <> 0 then
    begin
      { Get the process handle }
      processHandle := OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,
        False, hprocessID);
      if processHandle <> 0 then
      begin
        { Terminate the process }
        TerminateProcess(processHandle, 0);
        CloseHandle(ProcessHandle);
      end;
    end;
  end;
end;
Diese Funktion greift auf TerminateProcess zurück, right?

Und das Programm antwortet mit... "Möchten Sie das Programm wirklich schließen?"...
Vielen Dank für die Aufmerksamkeit,
stockholm
  Mit Zitat antworten Zitat