Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

AW: PID von Elternprozess ermitteln

  Alt 23. Feb 2012, 08:15
Das mit der Size hab ich mich auch grad beim nochmal durchlesen gefragt
Wie gesagt eins zu eins abgeschrieben und dann die gescheiften Klammern in begin und end gemacht und halöt noch die restliche Syntax angepasst aber mehr nicht

Hier nochmal überarbeitet:

Delphi-Quellcode:
uses Windows, TlHelp32;

function GetParentPID:Cardinal;
var
  crtpid : Cardinal;
  bContinue : Boolean;
  hSnapshot : THANDLE;
  procentry : PROCESSENTRY32A;
begin
  Result := 0;
  hSnapShot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0 );
  bContinue := Process32FirstA( hSnapShot, procentry ) ;
  if bContinue then
    begin
    procentry.dwSize := sizeof(PROCESSENTRY32) ;
    crtpid := GetCurrentProcessId();
    while( bContinue ) do
      begin
      if(crtpid = procentry.th32ProcessID)then
        Result := procentry.th32ParentProcessID;
      bContinue := (Result = 0) and Process32NextA( hSnapShot, procentry );
      end;
    end;
  CloseHandle(hSnapshot);
end;
Edit: Vermutlich muss ich noch auf den Rückgabewert von CreateToolhelp32Snapshot eingehen, das muss ich mir noch durchlesen.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat