Einzelnen Beitrag anzeigen

Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#4

AW: WaitForSingleObject und Child-Prozesse

  Alt 9. Sep 2011, 22:06
Wenns ohne Code Injection oder Treiber gehen soll:
  1. Erstell den Prozess für Dein Setup, allerdings "suspended".
  2. Geh die Prozess Liste durch und schau nach Prozessen bei denen die Parent Process ID der Deines Setup Prozesses entspricht.
  3. Resume den Setup Prozess und warte auf dessen Ende.
  4. Bevor Du das Process Handle zu Deinem Setup Prozess schließt, generier erneut eine Prozess Liste und schau erneut nach Prozessen bei denen die Parent Process ID der Deines Setup Prozesses entspricht.
  5. Dann vergleich die Resultate der beiden Suchdurchläufe. Sobald ein Prozess beim zweiten Suchlauf gefunden wurde, beim ersten allerdings nicht, wurde dieser von Deinem Setup gestartet. Für jeden dieser Prozesse kannst Du Dir dann ein Prozess Handle holen und mit der WaitForMultipleObjects Funktion warten bis alle von Deinem Setup gestarteten Prozesse beendet wurden.
  6. Mach die ganzen Process Handles zu.
Klingt wahrscheinlich unglaublich kompliziert, ist im Endeffekt aber recht simpel.
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat