cs_hastalavista
Messages postés38Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention26 février 2008
-
31 janv. 2008 à 09:48
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
31 janv. 2008 à 11:05
bonjour tout le monde
je voulais savoir comment tester la valeur retourner apres une execution d'une commande dos
en fait j'ai cet instruction dans mon code :
ReturnValue = Shell(commande_dos, vbHide)
cette ReturnValue est toujours > 0 es ca veut dire que si elle est = 0 que la commande n'a pas ete executée ?
merci bcp
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 31 janv. 2008 à 10:22
La valeur que te retourne la fonction Shell() n'ets pas al valeur de retour de la commande que tu lances, c'ets le N° de PID du process lancé par Windows pour executer cette commande.
Pour récupérer la valeur de retour de la commande DOS, tu dois mettre en place un "hook" (via des API) sur une console DOS. Je dois avouer ne pas pouvoir t'en dire plus (je n'ai jamais fais ou eu besoin de faire ce genre de truc). Mais je pense qu'une bonne ame pourra t'en dire plus sur le sujet
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 31 janv. 2008 à 11:05
des APIs:
OpenProcess pour obtenir un hProcess
WaitForSingleObject (en boucle) pour attendre la fin du process
GetExitCodeProcess pour avoir le code de retour
CloseHandle pour libérer le hProcess