Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Prozess beenden funktioniert nicht - Alternative? (https://www.delphipraxis.net/86653-prozess-beenden-funktioniert-nicht-alternative.html)

simlei 17. Feb 2007 21:36

Re: Prozess beenden funktioniert nicht - Alternative?
 
soweit ich das sehe dürfte

#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)

ja wohl keinen sinnvollen Prozessnamen bzw irgendwelche Namen darin enthalten... oder meinst du dass ich den nächsten Prozess vergleichen soll? Sodass dann, wenn dort der Prozessname steht, auch die Bedingung der if-Anwesung erfüllt ist?

Christian Seehase 17. Feb 2007 22:08

Re: Prozess beenden funktioniert nicht - Alternative?
 
Moin simlei,

Zitat:

Zitat von simlei
...oder meinst du dass ich den nächsten Prozess vergleichen soll?

Ja, klar.

Damit
Zitat:

Zitat von Christian Seehase
Das was hinter der #00 steht, ist halt das, was gerade im Speicher stand, als szExeFile gefüllt wurde.

wollte ich zum Ausdruck gebracht haben, dass alles, was hinter der ersten #00 im Feld szExePath steht als Datenmüll anzusehen ist.

simlei 17. Feb 2007 22:20

Re: Prozess beenden funktioniert nicht - Alternative?
 
aber dann wärs ja so, dass
a) WoW.exe in den Versuchen von mir immer der erste Prozess gewesen wäre ODER
b) dass alle Systemprozesse diese Eigenschaft haben und dass sozusagen bei einem solchen Prozess mit System Process am anfang immer einen Schritt weitergegangen werden muss... auf jeden Fall werd ichs so mal probioeren. Vielen Dank, Gute Hilfe!

Christian Seehase 17. Feb 2007 23:02

Re: Prozess beenden funktioniert nicht - Alternative?
 
Moin simlei,

ersetze doch mal das hier:

Delphi-Quellcode:
        if AnsiLowerCase(p.szExeFile) = AnsiLowerCase(AExeName) then
        begin
          Process := OpenProcess(Process_Terminate, false, p.th32ProcessID);
          Result := TerminateProcess(Process, 0);
        end;
durch

Delphi-Quellcode:
ShowMessage(p.szExePath);
und lass' Dir der Reihe nach einfach mal anzeigen, welche Prozesse so gefunden werden.

simlei 18. Feb 2007 11:16

Re: Prozess beenden funktioniert nicht - Alternative?
 
hab ich... es funktioniert im prinzip auch...
Das Problem oben gibts auch nicht mehr.

Jetzt ists nun halt wirklich so, dass OpenProcess nicht funktioniert (liefert 0).
Womit ich wieder dabei wäre, wie ich das umgehe? Es wurde vorhin erwähnt, dass das über einen Dienst geht. Wie richte ich das ein oder gibts ne bessere Lösung?

Christian Seehase 18. Feb 2007 12:06

Re: Prozess beenden funktioniert nicht - Alternative?
 
Moin simlei,

was meldet GetLastError, wenn Du es unmittelbar nach dem OpenProcess (also vor TerminateProcess) abfragst?

simlei 18. Feb 2007 15:40

Re: Prozess beenden funktioniert nicht - Alternative?
 
"Zugriff verweigert"
:(

Damit stellt sich dieselbe Frage wie aus meinem letzten Post...
Wie kann ich dem Programm die Rechte geben, dennoch auf den Prozess zuzugreifen?

simlei 19. Feb 2007 20:19

Re: Prozess beenden funktioniert nicht - Alternative?
 
*push

Sorry, aber es wurde ja oben schonmal erwähnt, dass es eine Möglichkeit gibt, dem Programm Rechte zu geben (als Service), sodass es funktioniert. Jetzt wäre wenigstens ein Link auf eine Stelle, wo es erklärt wird, wie, doch nicht fehl am Platze, oder nicht?
Danke schonmal!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz