Ich habe zwar nicht ganz verstanden, wie du das erreichen willst, aber es funktioniert auf jeden Fall. Du kannst zum Beispiel einen Thread injizieren, den du nicht bei LoadLibrary starten lässt, sondern bei einer selbst geschriebenen Funktion, die du mit VirtualAllocEx und WriteProcessMemory in den fremden Speicher beförderst. Das einzige Problem ist dabei, dass man nicht einfach auf fremde Routinen zugreifen kannst. Ich habe eine derartige Technik einmal verwendet, um die Places Bar in den Öffnen-Dialogen des
BDS zu verändern. Dort habe ich das mit einer handcodierten Assembler-Funktion gelöst, die einfach Zeiger auf die Funktionen enthielt.