AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Ntzliche Links
Registrieren
Zurck 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
Antwort Antwort
simlei

Registriert seit: 23. Nov 2005
119 Beitrge
 
Delphi 7 Professional
 
#1

Re: Prozess beenden funktioniert nicht - Alternative?

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

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 natrlich wird in die Anweisungen nicht gesprungen... Frage ist nun natrlich, 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 Lsung; es wre nett wenn jemand eine findet, ich bin am Ende mit meinem Latein...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beitrge zu antworten.
Es ist dir nicht erlaubt, Anhnge hochzuladen.
Es ist dir nicht erlaubt, deine Beitrge 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 20:05 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