IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

récupérer le nom du fichier cliqué par la souris


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut récupérer le nom du fichier cliqué par la souris
    Bonjour à tous.

    Nouveau en programmation, VB6 je cherche à récupérer le nom du fichier qui aura été sélectionné par un clic de souris. Je n'ai pas trouvé de méthode...

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 182
    Points
    17 182
    Par défaut
    Salut
    Differentes méthodes.
    La plus simple, un Commandialog, pour sa, cliquez bouton droit de la souris dans la boite d'outils à gauche de l'editeur choisir Composants, dans la fenêtre qui s'ouvre, rechercher et cocher Contrôle Microsoft CommonDialog 6.0, valider par OK.
    Selectionner dans la boite d'outils le nouvel objet et le placer sur le Form.
    Par F2, rechercher le composant CommonDialog, dans la liste de droite, tu y trouves les propriétés et méthodes, sur chaque mot, une aide sommaire , pour avoir plus de renseignement tu peux faire F1 qui te donne une aide complémentaire en ouvrant MSDN.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Merci pour la réponse.
    Je vais essayer.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour.

    Merci pour l'aide mais beaucoup de temps passé sans résultat.
    Commandialog-Showopen n'a pas apporté de solution...
    Je suis allé regarder vers GetOpenFileName de la librairie Comdlg32 sans réussite.
    Peut être je me suis mal exprimé; ce que je cherche à faire :
    - on double clique sur un fichier
    - ce fichier est associé à l'application vb6 (qui est en cours de création)
    - cette application vb6 (.exe) démarre
    - une des premières tâches est de récupérer le chemin\nom du fichier qui a été cliqué.
    Windows doit bien stocker cette information quelque part et VB6 doit bien pouvoir la récupérer mais malgré tous mes essais et toutes mes recherches je ne trouve pas de solution.
    Merci de m'aider.

  5. #5
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Heu, tu es dans quelle aplication quand tu double-click le fichier ? L'explorateur windows ?
    Si oui, alors windows va chercher dans sa base de registre pour savoir quel programme lancer.
    Tu peux ajouter ta propre extension dans l'explarateur windows en passant par les menus Outils/Option des dossier. La tu choisis l'onglet "types de fichier" bouton nouveau.

    Ton programme devra traiter la variable command qui contiendra le chemin complet du fichier cliqué
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Merci pour la réponse rapide.

    J'utilise en effet l'explorateur Windows et les fichiers qui m'intéressent possèdent une extension qui lance mon application VB6.
    Cette application VB6 effectue un traitement sur le fichier qui a été doublecliqué puis ce fichier modifié est sauvegardé avec le même nom mais avec une autre extension. Enfin le fichier obtenu est ouvert automatiquement par un autre .exe (ShellExecute).
    L'idée est que le traitement sur le fichier effectué par l'application VB6 reste totalement transparente (cachée) et automatique pour l'opérateur: c'est pourquoi je recherche un moyen de rapatrier le chemin/nom du fichier qui a été cliqué. Une solution alternative consiste à employer les commandes d'exploration (DriveListBox et autres) mais alors l'application ne serait pas transparente et l'opérateur devra choisir dans une liste...
    Je n'avais pas vu la fonction Command qui me permettra peut être de réussir.

    Beau mariage, le soleil était de la partie et c'est de bon augure. Félicitations et meilleurs voeux de bonheur.

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Comment as tu associé ton extension à ton programme ....?

    ne peu-tu pas utiliser les paramètres envoyé en ligne de commande à ton application...

    voir


  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour.

    A l'aide de la fonctionnalité "Ouvrir avec" de Windows.
    C'est ce que je cherche à faire.

    Pour compléter, j'ai compris que MsgBox réagit à un évènement lorsque l'application tourne déjà. Le pb est que le doubleclique intervient un pas avant le lancement de l'application. Le nom de ce fichier est donc stocké quelque part par Windows (base de registre? buffer? mémoire?...) Il faut donc que l'application interroge Windows pour extraire ce nom.

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ce n'était pas msgbox l'important mais "command" qui te renvoi les paramètres transmis à ton application ...

    par exemple met dans ta form principale

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Load()
     MsgBox Command
    End Sub
    compile puis lance ton application avec "ouvrir avec..."

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Et bien ce n'est pas gagné.
    J'ai déclaré la variable Command As String
    J'ai inséré MsgBox Command
    Je compile et crée le .exe.
    En débug ou en lançant le .exe, une fenêtre Projet1 avec un bouton OK apparaît. Je dois cliquer sur le bouton OK pour continuer le processus mais je n'arrive pas à récupérer le contenu de command.
    http://www.developpez.net/forums/ima...s/icon_sad.gif

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    il n'y as rien à déclarer ... un coup de sur command...

  12. #12
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    La variable Command n'est pas à déclarer, ele est pré-existantante dans tous les programmes VB

    Edit : Bon il faut que je améliore ma vitesse l'age sans doute.Salut Bbil
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour.

    J'y suis enfin arrivé grâce à vous.

    Merci pour vos aides.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Récupérer le nom du controle survolé par la souris
    Par Jeannot45 dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/04/2014, 07h51
  2. Récupérer un nom de fichier sans extension
    Par OxN dans le forum Général Java
    Réponses: 13
    Dernier message: 01/08/2011, 16h13
  3. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  4. Récupérer le nom du fichier spool correspondant à un job
    Par chtiot dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 23/02/2004, 20h28
  5. Réponses: 2
    Dernier message: 29/01/2004, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo