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

 C Discussion :

Utilisation de pidlRoot


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 784
    Par défaut Utilisation de pidlRoot
    Bonjour à tous,

    Dans un programme en C, j'utlise SHBrowseForFolder. Je n'ai qu'un petit problème: comment débuter le browse à un répertoire donné? (dans mon pgm, le dernier fourni par l'utilisateur).

    J'ai bien vu qu'il fallait donner à pidlRoot le répertoire où commencer, et j'ai essayé SHSimpleIDListFromPath, mais le linker me la refuse.

    Microsoft me dit que cette fonction est deprecated, bien que supportée dans win7.

    Peut-être n'ais-je pas mis la bonne librairie pour le link? (Cbuilder6)

    Quelqu'un peut-il m'aider, en sachant que je ne manipule que très peu l'API windows?

    D'avance merci,

    Edgar.

  2. #2
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Par défaut
    salut !
    Prior to Windows 7, this function was declared in Shlobj.h. In Windows 7 and later versions, it is declared in Shobjidl.h.
    peut-être ?

    A+

  3. #3
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 784
    Par défaut
    Citation:
    Prior to Windows 7, this function was declared in Shlobj.h. In Windows 7 and later versions, it is declared in Shobjidl.h.
    peut-être ?
    Non. Hélas d'ailleurs!

    La grosse erreur vient du linker qui me retourne "unresolved external _SHSimpleIDListFromPath referenced from etc..."

    Qu'il ne la trouve pas en prototype, à la limite tant pis, mais pas dans une librairie, c'est beaucoup plus embêtant

    En tout cas merci,

    Edgar.

  4. #4
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Par défaut
    linker shell32 pour les SH... et ole32 pour les CoInitialize et autres.
    je regarde de plus près (sous Code::Blocks).

    A+

  5. #5
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Par défaut mauvais présage
    le source que j'ai pu lire (version reactos) dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SHSimpleIDListFromPath    [SHELL32.162]
    exported by ordinal.
    mauvais présage si tu ne dispose pas d'un fichier shell32.def compréhensible par ton linker ...

    A+

  6. #6
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 784
    Par défaut
    Bonsoir anacharsis,

    Hélas, oiseau de mauvais augure, tu as raison, cent fois raison!

    Par principe, j'ai extrait (lire: un batch a extrait...) les fonctions de toutes les librairies, et j'ai recherché (lire: un programme a recherché..) si on y trouvait une occurence de SHSimpleIdListFromPath.
    Et nada.

    Ayant relu la doc de microsoft à ce sujet, elle propose (si j'ai bien compris) une alternative à cette fonction:

    1. Call SHGetDesktopFolder to obtain IShellFolder for the desktop folder.
    2. Get the IShellFolder's bind context (IBindCtx).
    3. Call IShellFolder:: ParseDisplayName with the IBindCtx and the path.
    (j'ai mis un espace entre : et P, sinon ça donne )

    Seulement, là, ça dépasse nettement mes compétences (en argot: j'y entrave que dalle).

    Sais-tu encore m'aider?

    Merci de tes recherches,

    Edgar.

Discussions similaires

  1. 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
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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