IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 14 fois
Vote des utilisateurs
1 
0 
Détails
Licence : Non renseignée
Mise en ligne le 23 février 2013
Plate-forme : Windows
Langue : Français
Référencé dans
Navigation

Application d'exploration des ressources des programmes ou des dll d'un répertoire

Développement d'un programme permettant d'explorer les resources de tous les fichiers d'un dossier et d'extraire celles-ci grâce à ResHacker.

Dans mon activité professionnelle, il m'arrive fréquemment d'avoir besoin de créer des icônes ou des petites animations (AVI) pour mes applications. Mes aptitudes créatives étant ce qu'elles sont, il m'arrive souvent de m'inspirer d'objets graphiques existants pour réaliser ce que je désire. Il me faut donc un outil permettant d'extraire ces objets graphiques des applications installées sur ma machine.

Après avoir cherché sur le web, je me suis aperçu que les programmes existants étaient soit limités, soit payants. Et franchement, je ne suis pas vraiment d'accord pour payer un petit outil de ce genre. Le seul outil vraiment valable que j'ai trouvé est ResHacker. Celui-ci propose de nombreuses fonctionnalités très intéressantes sauf une : la possibilité de scanner (explorer) l'ensemble des ressources de nombreux fichiers à la fois.

Après quelques minutes de réflexion, j'ai eu l'idée. Pourquoi ne pas faire un outil en Delphi qui scannerait les ressources et qui utiliserait ResHacker pour les manipuler. Aussitôt dit, aussitôt fait. ScanResources est né.

Le principe de fonctionnement de ScanResources est assez simple. Il cherche récursivement tous les fichiers correspondant à un modèle (*.dll par exemple) dans un dossier spécifié. Pour chaque fichier, il énumère toutes les ressources existantes pour un type défini. Cela permet de ne chercher que les AVI par exemple. Le résultat est stocké dans un TreeView. Il est possible par un clic droit de demander l'extraction d'une ressource, de toutes les ressources d'un type, ou de toutes les ressources du fichier. L'extraction est réalisée grâce à ResHacker en utilisant un script.
Attention, pour fonctionner correctement le programme doit être installé dans le même dossier que ResHacker.exe.

Ce programme a quelques défauts, c'est évident. Le premier et le plus important à mes yeux est le TreeView. Celui-ci n'est pas vraiment adapté à ce genre d'application mais je ne voulais pas utiliser de composant autre que ceux de Delphi 5 pour que tout le monde puisse le modifier et le compiler sans problème.
Si vous voulez le modifier pour l'améliorer je suis disposé à vous aider.
Sinon, vous pouvez en faire ce que vous voulez.

Concepts intéressants abordés :
  • Enumération de ressources en utilisant des Hooks.
  • Recherche de fichier récursive avec FindFirst, FindNext et FindClose.
  • Utilisation d'un TreeView (simple).
  • Pilotage d'une application par script (ResHacker).
  • Obtention par le système de fichier et dossier temporaire et suppression de ceux-ci en fin d'application (en un seul appel).
  • Utilisation de l'expert de DLL de ressources pour la localisation.
  • Utilisation des ResourceStrings.
  • Deux ou trois petits trucs supplémentaires.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.