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

Langage Delphi Discussion :

Fonction GetTarget et raccourcis Bureau.


Sujet :

Langage Delphi

  1. #1
    Membre régulier Avatar de Nicolas Coolman
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 76
    Points
    76
    Par défaut Fonction GetTarget et raccourcis Bureau.
    Hello,

    (Développement sous RAD Studio 2012)

    Pour obtenir le fichier cible d'un raccourci du Bureau, j'utilise cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function GetTarget(FicSource: string): string;
    // ============================================
    // Renvoie le fichier sur lequel pointe le LNK
    // ============================================
    var
          ShellLink: IShellLink;
          RaccourciWC: array [0 .. MAX_PATH] of CHAR;
          pfd: TWin32FindData;
    begin
          ShellLink := CreateComObject(CLSID_ShellLink) as IShellLink;
          (ShellLink as IPersistFile).Load(StringToOleStr(FicSource), STGM_READ);
          ShellLink.GetPath(RaccourciWC, MAX_PATH, pfd, SLGP_UNCPRIORITY);
          Result := String(RaccourciWC);
    end;

    Pour Internet Explorer la fonction GetTarget appliquée à son raccourci renvoie ceci
    C:\Program Files (x86)\Internet Explorer\iexplore.exe
    Une recente infection utilise le contenu de la cible du raccourci afin d'effectuer une redirection du navigateur

    En fait si vous modifiez la cible du raccourci de cette façon :
    "C:\Program Files (x86)\Internet Explorer\iexplore.exe" http://www.22find.com
    En cliquant sur le raccourci du Bureau, vous êtes immédiatement redirigé vers "http://www.22find.com"

    Helas la fonction GetTarget ne prends pas en compte la chaîne "http://www.22find.com" et renvoie :
    C:\Program Files (x86)\Internet Explorer\iexplore.exe

    Vous l'avez sûrement compris, je sollicite votre aide afin d'avoir une fonction qui puisses me renvoyer cela :
    "C:\Program Files (x86)\Internet Explorer\iexplore.exe" http://www.22find.com
    Merci d'avance pour vos suggestions.

    A bientôt...

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    L'interface IShellLink propose également la méthode GetArguments.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var
      // ...
      LParams: array [0.. MAX_PATH] of Char;
    begin
      // ...
      ShellLink.GetPath(RaccourciWC, MAX_PATH, pfd, SLGP_UNCPRIORITY);
      ShellLink.GetArguments(LParams, MAX_PATH);
      Result := string(RaccourciWC) + ' ' + string(LParams);
    end;
    @+ Claudius

  3. #3
    Membre régulier Avatar de Nicolas Coolman
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 76
    Points
    76
    Par défaut
    Hello Cl@udius,

    Effectivement !

    Un grand merci, cela fonctionne parfaitement.

    A bientôt...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/07/2008, 13h00
  2. Raccourci Bureau pour site Internet
    Par vandrie dans le forum Internet
    Réponses: 8
    Dernier message: 03/10/2007, 21h40
  3. [Raccourci]Bureau 3D Vista
    Par brak__ dans le forum Windows Vista
    Réponses: 46
    Dernier message: 16/06/2007, 06h54
  4. [JWS] raccourcis bureau
    Par philippe13 dans le forum Applets
    Réponses: 1
    Dernier message: 08/03/2007, 19h40
  5. Raccourci bureau probleme "..."
    Par winow dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/03/2006, 13h03

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