Salut,
En général, on met le handle de la fenêtre principale. Pour le coup de la "user interface", je vois pas de quoi ils parlent, mais pour le message d'erreur, c'est ce handle qui est certainement passé à
MessageBox.Comme ça l'erreur est clairement associé à la fenêtre qui a le handle.
Si tu fait une appli console, je sais pas si il y a moyen de récupérer un handle sur ta fenêtre.
system, ça faisait un
CreateProcess de cmd /C L_argument_passé_a_la_fonction, si mes souvenirs sont bons.
Donc en plus de prendre en charge les exes, ça prend les commande DOS, genre pause, dir...
Mais rien n'empèche de faire un cmd /C dans un ShellExecute. (Ou un CreateProcess bien sûr)