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

DD05 53 Messages postés mercredi 11 août 2004Date d'inscription 11 juin 2010 Dernière intervention - 25 juin 2009 à 11:59 - Dernière réponse : DD05 53 Messages postés mercredi 11 août 2004Date d'inscription 11 juin 2010 Dernière intervention
- 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 

Votre réponse

2 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 25 juin 2009 à 12:29
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)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de cs_Jack
DD05 53 Messages postés mercredi 11 août 2004Date d'inscription 11 juin 2010 Dernière intervention - 25 juin 2009 à 16:28
0
Merci
Merci beaucoup, ca marche !! J'ai pris la première méthode.

DD05
Commenter la réponse de DD05

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.