Auch mit SysErrorMessage und Co. kann man debuggen.
Und siehe mein Edit im letzen Post.
wie schon jemand sagte:
- bei ShExecInfoA, SHELLEXECUTEINFOA und ShellExecuteExA das A weg
- WideString zu String
- die AnsiString-Casts raus
Wer sagt, daß das ForegroundWindow zu deinem Prozess gehört? ... Keiner, also kannst du da doch nicht einfach was dranhängen.