Immerhin starte ich das Programm ja selbst mit CreateProcess, da müsste ich ja dann besondere Rechte oder sowas haben...
Hast du, entsprechend könntest du den Prozeß "schlafend" erstellen und vor dem Start deine
DLL injezieren. Hierbei bräuchtest du nur einen lokalen Hook. Aber wenn du schon einen globalen hast, geht der auch.
Einziges Problem wäre auf Vista und neuer die Sache mit den Integritätsniveaus, aber das stört nicht, da du den Prozeß ja wie gesagt selber startest (also ich nehme mal einfach an ohne runas).