AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Prozess beenden funktioniert nicht - Alternative?
Thema durchsuchen
Ansicht
Themen-Optionen

Prozess beenden funktioniert nicht - Alternative?

Ein Thema von simlei · begonnen am 16. Feb 2007 · letzter Beitrag vom 19. Feb 2007
 
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#9

Re: Prozess beenden funktioniert nicht - Alternative?

  Alt 17. Feb 2007, 20:17
Ich habe jetzt die Funktion "entzerrt" - folgendermaßen:

Delphi-Quellcode:
function KillTask(const AExeName: string): boolean;
var
  p: TProcessEntry32;
  h: THandle;
  Process: Cardinal;
begin
  Result := false;
  p.dwSize := SizeOf(p);
  h := CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0);
  try
    if Process32First(h, p) then
      repeat
        if AnsiLowerCase(p.szExeFile) = AnsiLowerCase(AExeName) then
        begin
          Process := OpenProcess(Process_Terminate, false, p.th32ProcessID);
          Result := TerminateProcess(Process, 0);
        end;
      until (not Process32Next(h, p)) or Result;
  finally
    CloseHandle(h);
  end;
end;
Ich habe p dann mal überwacht, als AExeName 'WoW.exe' war...
Dabei ist das Programm garnicht bis zu OpenProcess gekommen, da in diese If-Anweisung garnicht gesprungen wurde:
Delphi-Quellcode:
if AnsiLowerCase(p.szExeFile) = AnsiLowerCase(AExeName) then
        begin
          Process := OpenProcess(Process_Terminate, false, p.th32ProcessID);
          Result := TerminateProcess(Process, 0);
        end;
Dann hab ich mir mal p angeschaut... p wurde mit

(296, 0, 0, 0, 0, 1, 0, 0, 0, ('[', 'S', 'y', 's', 't', 'e', 'm', ' ', 'P', 'r', 'o', 'c', 'e', 's', 's', ']', #0, 'û', 'ý', '', #24, #0, #0, #0, 'Ð', #7, #0, #0, 'X', 'ú', #18, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, '<', #0, '>', #0, #0, 'ü', 'ý', '', 't', #7, #0, #0, '„', 'ú', #18, #0, 'Ê', '/', '', '|', #3, #0, #31, #0, #0, #0, #0, #0, #0, 'ü', 'ý', '', 'Ø', 'ú', #18, #0, #30, #0, #31, #0, 'à', 'ú', #18, #0, 'œ', 'ú', #18, #0, '’', 'Õ', '‘', '|', '»', '›', '€', '|', 't', #7, #0, #0, #12, 'ý', #18, #0, 'Ù', #21, 'j', 't', 't', #7, #0, #0, ' ', '.', #21, #0, '¥', 'ö', 'k', 't', '|', #6, #16, #0, #2, #0, #0, #0, '£', 'À', #0, #0, 'x', 'â', #20, #0, 'x', 'â', #20, #0, #2, #0, #0, #0, '(', #0, 'ì', #0, #0, #0, #0, #0, 'x', 'â', #20, #0, 'È', 'q', #20, #0, '(', 'á', #20, #0, 'Ð', #13, #21, #0, #0, #0, #0, #0, 'à', 'ú', #18, #0, 'M', 'S', 'C', 'T', 'F', '.', 'S', 'e', 'n', 'd', 'R', 'e', 'c', 'e', 'i', 'v', 'e', '.', 'E', 'v', 'e', 'n', 't', '.', 'I', 'A', 'O', '.', 'I', 'C', #0, #0, #1, #0, #0, #0, 'Ð', 'ú', #18, #0, 'p', 'ý', #18, #0, 'p', 'ý', #18, #0, '”', #4, 'Ô', 'w', #8, 'ˆ', 'Ñ', 'w', 'ÿ', 'ÿ', 'ÿ', 'ÿ', #16, #0, #0, #0, '°', '3', 'ˆ', '|', 'l', 'û', #18, #0, #0, #0, #0, #0, 'Æ', 'Z', 'A', #0))

angezeigt...
Dabei ist p.szExeFile dann gleich

('[', 'S', 'y', 's', 't', 'e', 'm', ' ', 'P', 'r', 'o', 'c', 'e', 's', 's', ']', #0, 'û', 'ý', '', #24, #0, #0, #0, 'Ð', #7, #0, #0, 'X', 'ú', #18, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, '<', #0, '>', #0, #0, 'ü', 'ý', '', 't', #7, #0, #0, '„', 'ú', #18, #0, 'Ê', '/', '', '|', #3, #0, #31, #0, #0, #0, #0, #0, #0, 'ü', 'ý', '', 'Ø', 'ú', #18, #0, #30, #0, #31, #0, 'à', 'ú', #18, #0, 'œ', 'ú', #18, #0, '’', 'Õ', '‘', '|', '»', '›', '€', '|', 't', #7, #0, #0, #12, 'ý', #18, #0, 'Ù', #21, 'j', 't', 't', #7, #0, #0, ' ', '.', #21, #0, '¥', 'ö', 'k', 't', '|', #6, #16, #0, #2, #0, #0, #0, '£', 'À', #0, #0, 'x', 'â', #20, #0, 'x', 'â', #20, #0, #2, #0, #0, #0, '(', #0, 'ì', #0, #0, #0, #0, #0, 'x', 'â', #20, #0, 'È', 'q', #20, #0, '(', 'á', #20, #0, 'Ð', #13, #21, #0, #0, #0, #0, #0, 'à', 'ú', #18, #0, 'M', 'S', 'C', 'T', 'F', '.', 'S', 'e', 'n', 'd', 'R', 'e', 'c', 'e', 'i', 'v', 'e', '.', 'E', 'v', 'e', 'n', 't', '.', 'I', 'A', 'O', '.', 'I', 'C', #0, #0, #1, #0, #0, #0, 'Ð', 'ú', #18, #0, 'p', 'ý', #18, #0, 'p', 'ý', #18, #0, '”', #4, 'Ô', 'w', #8, 'ˆ', 'Ñ', 'w', 'ÿ', 'ÿ', 'ÿ', 'ÿ', #16, #0, #0, #0, '°', '3', 'ˆ', '|', 'l', 'û', #18, #0, #0, #0, #0, #0, 'Æ', 'Z', 'A', #0)

und natürlich wird in die Anweisungen nicht gesprungen... Frage ist nun natürlich, warum es beim Firefox zB funktioniert, aber bei WoW.exe nicht? p.szExeFile war beim firefox ja auch gleich dem exe-Namen...

Ich bin sehr angewiesen auf eine Lösung; es wäre nett wenn jemand eine findet, ich bin am Ende mit meinem Latein...
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz