Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Herausfinden ob explorer.exe als SYSTEM läuft (https://www.delphipraxis.net/75576-herausfinden-ob-explorer-exe-als-system-laeuft.html)

Mazel 21. Aug 2006 20:07


Herausfinden ob explorer.exe als SYSTEM läuft
 
Hi,

wie kann ich heraus finden ob explorer.exe als SYSTEM läuft oder nicht?

Gruß
Mazel

peanut 21. Aug 2006 20:27

Re: Herausfinden ob explorer.exe als SYSTEM läuft
 
Hi,

das müsste wie folgt gehen:

OpenProcess(PID der EXE, ...)
OpenProcessToken(...)
GetTokenInformation(...)

Danach die mittels GetTokenInformation erhaltene SID in LookupAccountSid(...) stecken und man bekommt u.a. den Benutzermamen (im entsprechenden Fall auch SYSTEM des explorer.exe).

Viele Grüße

peanut.

Mazel 21. Aug 2006 20:41

Re: Herausfinden ob explorer.exe als SYSTEM läuft
 
Wie bekomme ich den die PID (ProcessID) von explorer.exe heraus?

peanut 22. Aug 2006 09:40

Re: Herausfinden ob explorer.exe als SYSTEM läuft
 
Hi,

indem Du Dir mittels

Delphi-Quellcode:
  ...
  hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPALL, 0);
  if hProcSnap = INVALID_HANDLE_VALUE then exit;

  pe32.dwSize := SizeOf(pe32);
  if Process32First(hProcSnap, pe32) = true then
  begin
    ...
    while (Process32Next(hProcSnap, pe32) = true) do
    ...
alle Prozesse auflisten lässt. In pe32.th32ProcessID steht dann die PID.

Viele Grüße

peanut.

Mazel 22. Aug 2006 10:32

Re: Herausfinden ob explorer.exe als SYSTEM läuft
 
Ok,

dann habe ich alle Processe aber wie bekomme ich die PID von explorer.exe und was ist pe32?

Ich habe mich mit diesem Thema noch nie beschäftigt, das wollte ich nun ändern :wink: .

Gruß
Mazel

peanut 22. Aug 2006 10:45

Re: Herausfinden ob explorer.exe als SYSTEM läuft
 
Hallo,

pe32 ist eine TProcessEntry32 Struktur. Dort steht unter anderem der Dateiname und auch die PID. Du gehst mit Process32Next durch die Prozessliste und schaust nach "explorer.exe". Wenn Du es gefunden hast, steht in pe32 unter pe32.th32ProcessID auch die richtige PID - fertig :-)

Frage: Kann denn explorer.exe unter SYSTEM laufen?

Gruß peanut.

peanut 22. Aug 2006 10:50

Re: Herausfinden ob explorer.exe als SYSTEM läuft
 
Zitat:

Zitat von peanut
Frage: Kann denn explorer.exe unter SYSTEM laufen?

Ja, er kann... hab ich gerade mal getestet. Mein Windows hat das allerdings nicht gerne gesehen ;-) Bist Du sicher, dass bei Dir die originale MS explorer.exe als SYSTEM läuft?

Mazel 22. Aug 2006 10:52

Re: Herausfinden ob explorer.exe als SYSTEM läuft
 
Danke,

jetzt habe ich es verstanden.

Ja, der Explorer kann als SYSTEM laufen, wenn er durch ein Systemprozess gestartet wird.

[EDIT]
Bei mir läuft der Explorer nicht unter SYSTEM, aber es gibt ja andere Prozesse, wie die svchost.exe die als SYSTEM, LOKALER DIENST oder NETZWERK läuft.
[/EDIT]

[Edit2]
Danke. Es funktioniert ;)
[/EDIT2]
Gruß
Mazel


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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