Ho trovato abbastanza roba in giro per capire come funziona tranne una cosa....
	codice:
	...
...
...
HINSTANCE ShellExecute(
    HWND hwnd,
    LPCTSTR lpOperation,
    LPCTSTR lpFile,
    LPCTSTR lpParameters,
    LPCTSTR lpDirectory,
    INT nShowCmd);
Parameters
hwnd
   [in] Handle to a parent window. This window receives any message
   boxes that an application produces, such as error reporting.
...
...
 
Che cos'è hwnd?? In tutti gli esempi viene sostituito da "handle", ma a me non lo accetta..  Ho, per la precisione, incluso shellapi.h al progetto
Sostituito da NULL mi funziona tutto! 
Grazie ancora