Je n'ai pas de quoi tester ici, mais je te sugererais d'essayer plutot ceci:
ShellExecute(handle, Nil, Pchar('c:\monrepertoire\MonFichier.bat'), nil, Nil, SW_SHOWNORMAL);
Le principe n'est pas de lancer la fenetre DOS avec le fichier BAT en paramètre (je sait pas si ça marche, en fait), mais de lancer le fichier BAT lui mème (avec l'ordre par defaut, d'où le "nil" à la place du "open" )
--edit--
Et si la fenetre DOS se ferme avant que tu ne puisse lire un message d'erreur, ajoute "pause" à la fin de ton ficher BAT. Si'il ne demande pas de taper une touche, ça veut dire que pour une raison ou une autre, il n'a pas exécuté le .BAT
commande1
commande2
pause |
Message édité par Zozol le 30-01-2006 à 20:59:03