Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Sonstiges (https://www.delphipraxis.net/45-library-sonstiges/)
-   -   ID des Parent-Prozesses ermitteln (https://www.delphipraxis.net/83236-id-des-parent-prozesses-ermitteln.html)

Matze 29. Dez 2006 16:24


ID des Parent-Prozesses ermitteln
 
Hier stellt Luckie eine Möglichkeit vor, die ID des Parent-Prozesses zu ermitteln.

Eine kleine Erklärung, für diejenigen, die nicht wissen, was man sich darunter vorzustellen hat:
Wird euer Programm beispielsweise von einer anderen Anwendung gestartet, so bekommt ihr mit der folgenden Funktion die ID des Prozesses, der zur Anwendung gehöhrt, die euer Programm aufgerufen hat.

Delphi-Quellcode:
uses
  tlhelp32;

function GetParentID(ID: DWORD; var IDParent: DWORD): DWORD;
var
  hSnapShot: THandle;
  pe32: TProcessEntry32;
begin
  hSnapShot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if hSnapShot <> 0 then
  begin
    pe32.dwSize := sizeof(TProcessEntry32);
    if Process32First(hSnapShot, pe32) then
    begin
      repeat
        if pe32.th32ProcessID = GetCurrentProcessId then
        begin
          IDParent := pe32.th32ParentProcessID;
          break;
        end;
      until Process32Next(hSnapShot, pe32) = False;
    end;
    CloseHandle(hSnapShot);
  end;
  result := GetLastError;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  ParentID: DWORD;
  dwReturn: DWORD;
begin
  dwReturn := GetParentID(GetCurrentProcessId, ParentID);
  if dwReturn = 0 then
    ShowMessage(IntToStr(ParentID))
  else
    ShowMessage(SysErrorMessage(dwReturn));
end;

Weitere Suchbegriffe: Process, Prozess


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