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 :

recuperation d'icone


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 16
    Points : 13
    Points
    13
    Par défaut [Résolu]recuperation d'icone
    Bonnjour,

    J aimerais pouvoir recuperer l'icone d'un fichier , d'un programme ou d'un dossier

    puis le charger dans une image

    Comment faire ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Salut

    Pour les exe voici la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    LoadResource
    The LoadResource function loads the specified resource into global memory. 
     
    HGLOBAL LoadResource(
      HMODULE hModule, // module handle
      HRSRC hResInfo   // resource handle
    );
    Parameters
    hModule 
    [in] Handle to the module whose executable file contains the resource. If hModule is NULL, the system loads the resource from the module that was used to create the current process. 
    hResInfo 
    [in] Handle to the resource to be loaded. This handle is returned by the FindResource or FindResourceEx function. 
    Return Values
    Mais le mieux pour toi est de consulter ce lien
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Resources/IntroductiontoResources/ResourceReference/ResourceFunctions/LoadResource.asp

    Pour les fichiers et lesdossiers, je penses qu'il faut aller voir dans la base de registres, mais je ne sais pas exactement.
    Bon courage
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Merci pour ta reponce mais je croi que je vai aller vers une autre voie

    Merci encors et bon developpement

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    bonjour a tous,

    Etant donné que j ai la solution autant en faire profiter ceux qui en ont besoin


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
     
    //il faut un OpenDialog et un Image;
     
    #include <windows.h>
    #include <shellapi.h>
    #include <Registry.hpp>   // je sais pas si ils sont tous utile
     
     if(OpenDialog1->Execute()){
     
    HANDLE hCurrentInst, hicon;
    AnsiString ext = ExtractFileExt(File);
    AnsiString Pathicon="";
    int index;
     
    HBRUSH brush;
    brush = CreateSolidBrush(RGB(5,5,5));  // pour la transparence
     
    TRegistry *Reg = new TRegistry();
           Reg->RootKey = HKEY_CLASSES_ROOT;
                    if(Reg->OpenKey(ext, false)){
                          AnsiString nom = Reg->ReadString("") + "\\DefaultIcon";
                          Reg->CloseKey();
                          Reg->RootKey = HKEY_CLASSES_ROOT;
                          if(Reg->OpenKey(nom,false))
                                       Pathicon = Reg->ReadString("");
                          }
     
            delete Reg;
     
            if(Pathicon.Pos(",") != 0){
            index = Pathicon.SubString(Pathicon.Pos(",")+1,Pathicon.Length()).ToInt();
            Pathicon = Pathicon.SubString(0,Pathicon.Pos(",")-1);
            }
     
            hCurrentInst = (HINSTANCE) GetWindowLong(Handle, GWL_HINSTANCE);
            hicon = ExtractIcon(hCurrentInst, Pathicon.c_str(), index);
     
            if(hicon == NULL){
            ShowMessage("Icon Non Trouvés !!!");
            }
     
            else if(hicon != NULL)
            {
            DrawIconEx(Image1->Canvas->Handle, 0, 0, hicon, 32, 32,0,brush, DI_NORMAL);
     
            Image1->Transparent=true;
            Image1->Picture->Bitmap->TransparentColor = RGB(5,5,5);
            }
     
     
    }
    voici le code pour trouver l icon par defaut d un fichier
    mais pas un exe

    j ai une question encors par rapport a ce code
    j utilise a peu pres le meme pour avoir l icon d un programme
    Quand je choisi Internet Exploreur (IEXPLORE.EXE) le fond n a pas la bonne couleur et l icon n est pas transparent

    Pourquoi ???

    Merci d avance

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

Discussions similaires

  1. [1.x] commande pour recuperer les icones de l'admin generator ?
    Par symfony30000 dans le forum Symfony
    Réponses: 1
    Dernier message: 09/04/2010, 16h32
  2. recuperer l'icone d'une executable
    Par kesiahlex dans le forum Langage
    Réponses: 8
    Dernier message: 09/07/2006, 17h10
  3. recuperer les icones windows
    Par arasium dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 21/06/2006, 15h06
  4. [FICHIERS]recuperer l'icone
    Par tyrann dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 19/09/2005, 19h38
  5. Recuperer l'icone d'un fichier
    Par zwoke dans le forum C++Builder
    Réponses: 13
    Dernier message: 08/01/2004, 22h41

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