Récupérer le chemin d'un dossier selectionné dans un combobox

Signaler
Messages postés
9
Date d'inscription
lundi 23 février 2009
Statut
Membre
Dernière intervention
8 avril 2011
-
Messages postés
9
Date d'inscription
lundi 23 février 2009
Statut
Membre
Dernière intervention
8 avril 2011
-
Bonjour,
Je désire récupérer le chemin complet affiché dans le combobox d'un explorateur type windows d'une application (autocad) :

J'ai le handle du combobox, j'arrive à avoir le texte courant affiché dans le combobox mais pas le chemin complet.
J'ai fait quelques tentatives sur la base du code ci-joint sans résultat. Quelqu'un aurait-il la bonne méthode?

      hWnd1 = FindWindowA(vbNullString, "Rechercher le fichier de tracé")
      hWnd2 = FindWindowEx(hWnd1, hWnd2, "ComboBox", "")   'Ca marche
      Texto = Space(255)
      i = SendMessageA(hWnd1, WM_GETTEXT, 256, ByVal Texto)  'Ca marche
      Texto = Left(Texto, i)
      Id = SendMessageA(hWnd1, LB_GETCURSEL, 0, 0)  'Ne marche pas
      sBuffer = Space(MAX_PATH)
      ret = SHGetPathFromIDList(Id, sBuffer) 'Ne marche pas

Merci d'avance

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
La cible de ces fonctions semble être extérieure à ton application (pas précisé).
Si l'information n'est pas affichée à l'écran, je vois mal comment tu pourrais la récupérer.
Le chemin doit exister, oui, mais dans une variable de la procédure du programme cible, non récupérable.

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)
Messages postés
9
Date d'inscription
lundi 23 février 2009
Statut
Membre
Dernière intervention
8 avril 2011

Merci pour cette réponse même si c'est dur d'entendre que cette impossible.
Ca fait plusieurs jours que je bloque là dessus et j'ai un peu de mal à l'accépter.
Bon si je précise que la cible est effectivement extérieure à mon application mais qu'en revanche, l'information du chemin complet s'affiche à l'écran sous forme d'infobulle quand le pointeur de la souris se trouve sur le combobox,
y'a toujours aucun espoir????
Messages postés
9
Date d'inscription
lundi 23 février 2009
Statut
Membre
Dernière intervention
8 avril 2011

Est-il possible de retrouver l'information dans le process lié à cette fenêtre?
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Re
J'ai passé deux heures à essayer de relire la structure d'un ToolTipText sans y parvenir, mais ça doit être possible.
Voir http://msdn.microsoft.com/en-us/library/cc656636(VS.85).aspx
Voir le type TOOLINFO

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)
Messages postés
9
Date d'inscription
lundi 23 février 2009
Statut
Membre
Dernière intervention
8 avril 2011

Bon merci pour les informations. J'ai étudié ça mais je crois que c'est pas mon niveau.
Je me suis donc débrouillé autrement sans avoir besoin de récupérer le chemin. C'est plus lourd mais au moins ça fonctionne et je sais pourquoi. Le logiciel garde en mémoire le dossier que l'utilisateur a choisi, mon code affiche donc la fenêtre de l'explorateur précédemment ouvert par l'utilisateur et par défaut, c'est le dernier dossier utilisé qui est affiché: celui que je voulais.