Obtenir le code de sortie d'une application Visual Basic depuis un script VBS 


Pour permettre à un programme Visual Basic de sortir avec un code retour ; c'est à dire l'équivalent d'un appel à la fonction exit() de la librairie du langage C ; il faut avoir recours à l'API Win32 ExitProcess. Voici la définition de cette fonction:
VOID ExitProcess(
  UINT uExitCode   // exit code for all threads
);
L'utilisation de cette fonction dans un module Visual Basic nécessite d'indiquer le nom de DLL qui exporte cette fonction. Dans l'évènement Terminate du formulaire, on appel Exitprocess.
Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)

Private Sub Form_Terminate()
         ExitProcess 50
End Sub
Le script VBS qui se charge de lancer l'application est très simple. Il ne fait qu'utiliser la méthode Run de l'objet WScript.Shell.
Dim WshShell
Dim Return
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("c:\temp\project1.exe", 1, TRUE)
MsgBox CStr(Return)

 
© 2001 Christophe Pichaud. All rights reserved.