Astuces de recherche...
Home
- Accueil & nouveautés
- Les newsgroups VB
- Téléchargements
- L'équipe
- Nous contacter
- Liens
Rubriques
- Toutes les questions
- Affichage & graphismes
- Algorithmique
- API
- Base de registre
- Bases de données
- Contrôles
- Date & heure
- Déploiement
- Divers
- Erreurs & problèmes
- Fichiers & dossiers
- Généralités
- Impression
- Internet & mails
- Math
- Multimédia
- Réseaux
- Structures de données
- Texte & strings
- VB .Net
- VB Script
- VBA
- Windows

Question 7

Comment exécuter un autre programme depuis une application VB ?

Il existe plusieurs solutions pour faire cela.

La première est d'employer la fonction Shell de Visual Basic comme ceci :

Private Sub Command1_Click()

    Shell "C:\Windows\CDPLAYER.EXE", vbNormalFocus

End Sub

Une deuxième solution est d'employer l'API ShellExecute comme ceci :

Private Const SW_SHOWNORMAL = 1

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Form_Load()

    ShellExecute Me.hwnd, "open", "C:\Windows\CDPLAYER.EXE", vbNullString, "C:\Windows\", SW_SHOWNORMAL

End Sub

On peut aussi employer uniquement les API (CreateProcess). Les fiches suivantes donnent des informations complémentaires sur l'utilisation de ces API :

A noter que ces techniques sont utilisables pour lancer des commandes DOS, qu'il suffit d'inclure dans un programme batch (.bat). C'est une alternative à l'exécution directe de commande Dos expliquée dans l'article Comment exécuter des commandes DOS à partir de mon programme ?, l'intérêt étant de pouvoir controler la fin d'exécution.

 

Voir aussi :

Date de publication : 07 juillet 2002
Dernière modification : 25 février 2007
Rubriques : Fichiers & dossiers, Windows
Mots-clés : executer, shell, ShellExecute, CreateProcess, OpenProcess, WaitForSingleObject, attendre, asynchrone