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

Windows Forms Discussion :

[VB.NET] CLSID


Sujet :

Windows Forms

  1. #1
    Membre confirmé Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Par défaut [VB.NET] CLSID
    Comment obtenir le chemin d'accès à un dossier selon un CLSID ???

    EX :
    "::{450d8fba-ad25-11d0-98a8-0800361b1103}"
    Correspond au dossier "Mes documents", dans TOUT les windows, et TOUTES les langues... Vous voyez l'interêt ????

    Merci !

  2. #2
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    c'est une clé que tu retrouvera en effectuant par programmation une recherche dans le registre à la racine
    HKEY CLASSES\ROOT\CLSID\
    tu travailles avec quelle version du Framework .Net :

  3. #3
    Membre confirmé Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Par défaut
    Evidement, j'oublie toujours quelque chose... C'est tout moi, ça...

    Alors, version du framework : 1.1
    IDE : VS2003 prof.

    Alors, si je suit bien, rechercher dans le registre une clé quelquonque avec la valeur du CLSID en question ???

    Et je devrais normalement trouver là le "path" correspondant au CLSID ???

    J'y cours, et je reviens ...

    Merci !!

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Champ Registry.ClassesRoot
    Je crois que tu n'obtiendras que le nom du repertoire et pas tout le chemin

    Il te faudra peut être fouiller dans d'autres sous-clés ou alors jongler avec l'Espace de noms System.IO pour retrouver le chemin complet

  5. #5
    Membre expérimenté
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Par défaut
    pour avoir le chemin du repertoire "Mes documents" tu as :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environment.GetFolderPath(Environment.SpecialFolder.Personal);
    par contre je sais pas si ca marche pour tous les windows et toutesles langues ...

  6. #6
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par sam_XIII
    pour avoir le chemin du repertoire "Mes documents" tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environment.GetFolderPath(Environment.SpecialFolder.Personal);
    par contre je sais pas si ca marche pour tous les windows et toutesles langues ...
    Euh t'es sûr d'avoir lu sa question
    Citation Envoyé par cacalex
    Comment obtenir le chemin d'accès à un dossier selon un CLSID ???

    EX :
    "::{450d8fba-ad25-11d0-98a8-0800361b1103}"
    Correspond au dossier "Mes documents", dans TOUT les windows, et TOUTES les langues... Vous voyez l'interêt ????

    Merci !

  7. #7
    Membre expérimenté
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Par défaut
    lol, en effet j'avais pas tout lu, sorry

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Par défaut
    Désolé neguib mais je suis d'accord avec sam_XIII sur l'utilisation de la classe Environment.
    Il est évident que Environment utilise la base de registre, mais de manière transparente.
    Le fw est conçu pour fourni une couche d'abstraction portable. Il n'est pas évident que les clés de base de registre (ou même la base ) subsitent à l'identique dans les prochaines versions de Windows.
    Le fw fonctionnera toujours

    Dis moi de quoi tu as besoin, je te dirai comment t'en passer 8)

  9. #9
    Membre expérimenté Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Par défaut
    A mon humble avis, ce que voulait dire neguib c'est que la question de base c'était au sujet des CLSID et qu'il ne fallait donc pas s'en éloigner... A mon humble avis

    Maintenant sans aucune hésitation, pour obtenir le chemin vers Mes Documents j'utiliserais Environment.GetFolderPath mais ce n'est pas la question de base

    Dis moi de quoi tu as besoin, je te dirai comment t'en passer
    Maintenant, quand on se propose aussi gentiment

  10. #10
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Merci DeusXL de m'avoir lu correctement
    Je ne me suis pas fixé effectivement sur le cas d'exemple cité car il n'était là que pour illustrer la question qui me semble prioritaire.
    Si maintenant cacalex souhaite nous en dire beaucoup plus sur la conception de son appli, alors il sera temps de proposer quelques conseils ou réajustements judicieux comme ceux que tu as formulé NicolasG

  11. #11
    Membre confirmé Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Par défaut
    Tiens tiens...

    On dirais que j'ai attiré la curiosité avec cette question

    À vrai dire, j'avais besoin aussi de récupérer l'îcone du dossier "Mes documents", alors j'ai tout naturellement essayé, avec succès, de la récupérer avec le CLSID (par SHGetFileInfo)...

    Je vais voir si je récupère l'icône avec "Environment.GetFolderPath(Environment.SpecialFolder.Personal)", et si ça marche, je vire tout ce qui est CLSID...

    Je n'avais pas de raison spécifique pour utiliser le CLSID, c'est simplement le première avenue que j'ai essayé...

    Merci pour votre interêt, et pour prendre le temps de répondre... On ne soupçonne jamais à quel point on aide les autres dans ce forum (^^)

  12. #12
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Alors ne pas oublier le bouton en bas à gauche

  13. #13
    Membre confirmé Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Par défaut
    Je ne peux pas récupérer l'icône du dossier avec Environment.GetFolderPath(Environment.SpecialFolder.Personal), alors je devrai probablement continuer d'obtenir l'icône avec le CLSID, et ensuite le "path", avec Environment.GetFolderPath(Environment.SpecialFolder.Personal)... L'important, c'est que ça marche... Mais vous avez soulever une interogation; Est-ce que le CLSID va toujours rester la même valeur ???

    Enfin, en attendant, ça fonctionne... Resteras à voir si ça marche toujours avec Vista...

    Merci à tous !

  14. #14
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Voici un code source de Morpheus "GetIcone" qui utilise l'API ExtractAssociatedIcon "Shell32"

  15. #15
    Membre confirmé Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Par défaut
    Ok...

    Cette version récupère bien l'icône à partir d'un CLSID...

    Merci neguib

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

Discussions similaires

  1. [Débat] Technologie .NET vs JAVA
    Par neo.51 dans le forum Débats sur le développement - Le Best Of
    Réponses: 1047
    Dernier message: 14/01/2019, 16h15
  2. [Débat] Expériences au sujet de .NET
    Par DevX dans le forum Débats sur le développement - Le Best Of
    Réponses: 46
    Dernier message: 25/05/2014, 11h16
  3. A ceux qui ont migré de VB6 vers VB.Net
    Par Fox dans le forum VB 6 et antérieur
    Réponses: 81
    Dernier message: 21/05/2008, 14h56
  4. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 09h45

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