Einzelnen Beitrag anzeigen

schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#6

Re: Externes Programm mit ShellExecuteEx per starten

  Alt 11. Nov 2008, 13:43
Habe jetzt mit
Delphi-Quellcode:

type
      PJobObjectBasicProcessIDList = ^TJobObjectBasicProcessIDList;
      TJobObjectBasicProcessIDList = Record
          NumberOfAssignedProcesses : DWORD;
          NumberOfProcessIdsInList : DWORD;
          ProcessIdList : Array[0..0] of ULONG;
      End;

var

  Info: TJobObjectBasicProcessIDList;
  Len : Cardinal;




Result := QueryInformationJobObject(hJob,JobObjectBasicProcessIdList,@Info,SizeOf(Info),@Len);
geschafft nachzusehen ob Prozesse im Job sind. Das geht auch! Starte ich einmal oder zweimal Notepad es ist immer in der Info.NumberOfAssignedProcesses die richtige Anzahl.

Wie ist jetzt am besten hier im Programm stehen zu bleiben bis Info.NumberOfAssignedProcesses = 0?

Und zwar so, dass das Programm aber noch andere Funktionen bearbeiten kann.

Mit einem repeat until? WaitForSingleObject?
Wenn diese beiden Methoden probiere ist ja mein Programm blockiert, oder?

Es soll ja das externe Programm gestartet werden - Check ob's läuft - wenn's läuft andere Funktionen ausführen wie z.B. Keyboard Events rüberschicken usw. - wenn das externe Programm beendet wird fährt auch mein Programm nieder.
  Mit Zitat antworten Zitat