DD05
Messages postés53Date d'inscriptionmercredi 11 août 2004StatutMembreDernière intervention11 juin 2010
-
25 juin 2009 à 11:59
DD05
Messages postés53Date d'inscriptionmercredi 11 août 2004StatutMembreDernière intervention11 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.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 juin 2009 à 12:29
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