Zunächst würde ich mal untersuchen, was genau denn eigentlich schiefläuft. Aus der Hilfe zu ShellExecuteEx:
Zitat:
Return value
Type: BOOL
Returns TRUE if successful; otherwise, FALSE. Call GetLastError for extended error information.
Das wäre schon einmal aussagefähiger als ein fest vorgegebenes -1