Ouvrir Explorateur Windows dans un répertoire dont le nom est variable [Résolu]

Messages postés
53
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 juin 2010
- - Dernière réponse : DD05
Messages postés
53
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 juin 2010
- 25 juin 2009 à 16:28
Bonjour,

J'utilise le code suivant pour ouvrir l'Explorateur Windows depuis VB6.

Private Sub Ouvrir_Windows_Explorer_Click ()
 Dim taskid as long
 taskid = shell ("C:\Windows\explorer.exe C:\Windows", vbNormalFocus)
End sub

Le problème est que dans ce cas, l'explorateur windows s'ouvre toujours dans le répertoire c:\Windows.

Comment faire pour ouvrir l'explorateur windows dans n'importe quel répertoire ?

Si je met une varaible à la place de C:\windows, ca ne marche pas.

Merci

DD05
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
59
3
Merci
Salut
Ta méthode d'ouverture de l'explorateur de fichier suppose que Windows est installé sous C:\ et que le répertoire s'appelle bien Windows.
Pas top.
D'autre part, quand ta chaine représentant le répertoire comporte des espaces, cela peut poser des problème d'interprétation dans des lignes de commande qui doivent faire du découpage pour retrouver le programme et les paramètres.
Dans ce cas, il faut encadrer ton chemin avec des ".
   Shell "C:\Windows\explorer.exe """ & monChemin & """", vbNormalFocus
Tu noteras le doublage de " à l'intérieur d'une chaine elle-même délimitée par des " = méthode d'insertion en doublant les "

Une méthode qui ne pose pas de problème, c'est le ShellExecute (API) :
Déclaration :
   Private Const SW_SHOWNORMAL As Long = &H1
   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

Utilisation :
   ShellExecute Me.hWnd, "Open", monChemin, vbNullString, monChemin, SW_SHOWNORMAL

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
53
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
11 juin 2010
1
0
Merci
Merci beaucoup, ca marche !! J'ai pris la première méthode.

DD05
Commenter la réponse de DD05