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++Builder Discussion :

Lire le contenu dans fichier raccourci .lnk


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 2
    Par défaut Lire le contenu dans fichier raccourci .lnk
    Bonjour à tous,

    En parcourant le forum, j'ai bien trouvé un post sur la création d'un raccourci, mais rien sur sa lecture.

    J'aurais besoin de réccupérer le chemin et le nom du fichier pointé par un raccourci.

    Si quelqu'un peu m'aider ....

    Merci d'avance.

  2. #2
    Membre expérimenté
    Avatar de Djob
    Inscrit en
    Août 2002
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 215
    Par défaut
    J'ai vu aussi le tutorial de CGI pour la création de liens, qui est très bien fait ...

    j'ai ai déduit ce code , qui semble fonctionner pour les raccourcis standards...
    (dsl : pas le temps de commenter/ se reporter au document de CGI pour plus d'infos)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    //pour compilation avec  BCB shlobj.h (cf document CGI)
    #define NO_WIN32_LEAN_AND_MEAN
     
     
    #include <shlobj.h>
     
    String __fastcall GetFilePathFromLnk(String ShorcutPath)
    {
                 if(!FileExists(ShorcutPath)) return "";
     
                 String ObjectPath="";
                 IShellLink* psl;
                 HRESULT hres;
                 LPCOLESTR OleStrPath;
     
                 CoInitialize(NULL);
                 hres = CoCreateInstance(CLSID_ShellLink, NULL,CLSCTX_INPROC_SERVER,
                                     IID_IShellLink, (LPVOID *)&psl);
                 if (SUCCEEDED(hres))
                 {
                    IPersistFile* ppf ;
     
     
                    psl->QueryInterface(IID_IPersistFile,(LPVOID *)&ppf);
                    OleStrPath = StringToOleStr(ShorcutPath);
                    ppf->Load(OleStrPath,STGM_READ);
     
                    char szFilePath[MAX_PATH];
                    WIN32_FIND_DATA pfd;
                    psl->GetPath(szFilePath,sizeof(szFilePath),&pfd,SLGP_RAWPATH);
                    ObjectPath=String(szFilePath);
                    ppf->Release();
                 }
     
                 psl->Release();
                 CoUninitialize();
                 return ObjectPath;
     
    }
    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
            if(OpenDialog1->Execute()){
     
              String ShorcutPath =  OpenDialog1->FileName;
              String FilePath = GetFilePathFromLnk(ShorcutPath);
              ShowMessage (ShorcutPath+" : "+FilePath);
            }
    }

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 2
    Par défaut
    Merci Djob

    Cela fonctionne parfaitement. Je vais creuser le sujet avec le tut de CGI.

    Merci encore ...

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

Discussions similaires

  1. Comment lire le contenu dans un Iframe
    Par Pedro Varela dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/05/2008, 12h19
  2. Lire et ecrire dans fichier excel en c++
    Par FidoDido® dans le forum C++
    Réponses: 8
    Dernier message: 09/07/2007, 09h16
  3. Lecture nom et contenu dans fichier
    Par Tempotpo dans le forum Langage
    Réponses: 2
    Dernier message: 19/05/2006, 14h11
  4. Réponses: 4
    Dernier message: 28/10/2005, 09h59

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