Ich weiß jetzt nicht genau, was du mit verschieben meinst, aber ich denke, dass du meinst, dass du mit deinem Dienst darauf reagieren möchtest, wenn ein Programm gestartet wird. Wenn dies der Fall ist, dann Sende das ganze doch von der APIHook.dll per SendMessage an deinen Dienst, wobei das gar nicht notwendig ist, da du das ganze auch in der
DLL machen kannst.
Falls du aber meintest, dass du den ganzen Quellcode in den Dienst packen willst, muss ich dir sagen, dass das nicht geht. Da du ja die neuen Funktionen in die explorer.exe laden möchtest und das kannst du nur über eine
DLL und einen Hook lösen.
Und anstelle der MessageBox-Prüfung muss ja dann sowieso der Teil kommen, wo du prüfst ob das Programm gestartet werden darf oder nicht.