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

Windows Discussion :

Construire un Régistre Windows pour un type de fichier qui indexe son icône en lui même.


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Construire un Régistre Windows pour un type de fichier qui indexe son icône en lui même.
    Salut à tous,
    Cela fait un bon bout de temps que je me demande comment on pourrait indexer l' icône d'un fichier par exemple "ZIP" à l' interieur du fichier lui même. Je m'explique... J'ai un fichier ZIP qui contient une image .PNG ou une icône .ICO spécifique. Et je me demandait s'il était possible d'utiliser cette même image comme icône de ce fichier ZIP. Et tout cela en modifiant le registre pour que tous les fichier zip soit pris en charge.

    Essayer d'utiliser tout ce qui existe pour en faire quelle chose de jamais vu...[DIFFICILE NON??]

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour.

    Il suffit de créer une biblio mettant en oeuvre un Shell extension handler (IconHandler en l'occurence).

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Aucun problème du moment que tu connais un minimum COM et que tu as une bibliothèque de ZIP sous la main.

    J'ai moi-même fait une telle extension pour les .zip en utilisant la bibliothèque ZipArchive.
    L'extension donne à chaque fichier .zip une icône dépendant son contenu (entre autres, pour savoir si c'est juste "un seul dossier" ou "un seul fichier", ou quelque chose de plus compliqué qu'on aurait intérêt à extraire dans un sous-répertoire).

    ...Pour bien faire, il faudrait que j'en fasse une version qui n'utilise pas ATL.
    Images attachées Images attachées  
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Bonjour,
    C'est en effet un dossier A content les fichier suivant:
    - index.ico
    - 1.manifest
    - 2.ext
    - 3.ext
    ...
    Ici on choisi comme icône le fichier "index.ico".
    Alors si je comprends bien l'explication de "Médinoc", je dois dezipper mon zip dans un sous-répertoire puis indexer l'icône.
    Alors c'est bien ce que je pensais.
    Merci à vous tous pour vos explications.

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Normalement avec une bonne bibliothèque, tu n'as pas à dézipper ailleurs qu'en mémoire.

    Je joins le projet et la lib que j'utilise, mais:
    • Ça utilise la bibliothèque ATL de Microsoft, compatible Visual Studio uniquement
    • Cela rend aussi bien plus difficile à comprendre pour quelqu'un qui ne maîtrise pas déjà COM.
    • La bibliothèque de ZIP que j'utilise, ZipArchive, dépend peut-être bien elle aussi de Visual Studio pour la compiler.
    • Il y a des parties mal faites ou à refaire.
    • Il y a des parties commencées mais pas finies (comme une tentative de faire des icônes haute résolution).
    • Il y a des parties générées automatiquement qui ne servent en fait à rien (comme l'interface IZipIconExtractor qui n'est appelée par rien du tout et contient une seule méthode; ou la DLL de proxy/stub dont je ne suis même pas sûr qu'elle builde, mais ce n'est pas grave parce qu'elle n'est pas nécessaire).
    • Ma version de la lib est probablement obsolète.

    Je devrais faire le ménage dedans, et peut-être la réimplémenter sans ATL (peut-être même sans la bibliothèque de ZIP; en utilisant à la place ce que donne Microsoft dans les versions récentes de Windows), mais je n'ai vraiment pas le temps en ce moment.

    Dernière note: Pour charger une icône depuis un fichier .ico en RAM, tu devras peut-être lire toi-même le fichier (infos 1 2 3 4 et 5) et utiliser ensuite CreateIconFromResourceEx(); si c'est trop compliqué tu devrais aussi pouvoir dézipper dans un dossier temporaire (souviens-toi, on ne hardcode pas le dossier TEMP, les fonctions SHGetFolderPath et à partir de Vista, SHGetKnownFolderPath sont là pour ça) et retourner bêtement le chemin du fichier en retour de GetIconLocation().
    Fichiers attachés Fichiers attachés
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci Meinoc,
    Je reviens d'un voyage et je compte m'y mettre aussitôt que je ferme mon browser.

    Grand Merci.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/06/2013, 15h25
  2. detecter le type du fichier qui va etre enregistrer dans la base
    Par lamis2009 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 18/05/2010, 16h27
  3. Application par defaut pour un type de fichier
    Par g_barthe dans le forum Général Python
    Réponses: 5
    Dernier message: 03/09/2008, 19h13
  4. Réponses: 10
    Dernier message: 27/05/2008, 15h09
  5. Aperçu pour mes types de fichiers
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 3
    Dernier message: 27/09/2004, 18h33

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