2009-09-01 10 views
1

J'espère que quelqu'un peut m'aider avec cela car je suis incapable de trouver la bonne méthode pour le faire. Je suis en train de développer une application qui devrait, dans une partie, pouvoir énumérer toutes les bibliothèques Windows et afficher leur contenu. Pour l'instant j'ai été en mesure d'obtenir les dossiers inclus pour toutes les bibliothèques Windows 7 standard, Documents, Images, Vidéos et Musique. Le problème est que je ne sais pas comment obtenir les informations des bibliothèques utilisateur personnalisées car IShellLibrary :: SHLoadLibraryFromKnownFolder a besoin du dossier spécifique GUID qui n'est pas vraiment défini dans KnownFolders.h.Windows 7 Bibliothèques

J'ai seulement besoin de lister tous les noms de bibliothèques et de récupérer leurs GUID respectifs si c'est possible.

+1

OMG, une journée entière et je n'ai même pas eu un seul commentaire Allez les gars, toutes les suggestions sont acceptables –

Répondre

1

Il semble que vous puissiez techniquement créer un fichier de définition de bibliothèque et le placer n'importe où sur un système. À moins de rechercher tous les fichiers de définition, peut-être vous pourriez envisager de vous limiter à énumérer tous les éléments du shell sous le dossier shell bien connu FOLDERID_Libraries? L'ID de ce dossier doit être dans KnownFolders.h dans la dernière version du Kit de développement Windows.

Pour chaque élément de coque que vous rencontrez sous ce dossier, vous devriez pouvoir appeler SHLoadLibraryFromItem pour "charger" la bibliothèque si vous avez besoin d'un objet IShellLibrary pour cela.

+0

Thx homme déjà fait cela et maintenant tout fonctionne thx pour la réponse –