begin process at 2010 02 09 23:49:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

Récupérer les icônes types des fichiers connus par Windows


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer les icônes types des fichiers connus par Windows

mercredi 15 décembre 2004 à 17:02:24 | Récupérer les icônes types des fichiers connus par Windows

nerix27

Bonjour,
je développe une appli ressemblant à l'exploreur de Windows...
Pour lui ressembler à la goutte d'eau, je veux afficher l'icône type en face du fichier correspondant (ex : pour un fichier Word, il affiche l'îcone bleue avec le W)...

Je suis pas loin de réussir mais je bloque sur un truc...

Pour chaque fichier, je récupère son extension, après je vais dans la base de registre pour voir son type...
Après je vais chercher la valeur de la chaine suivante :

\HKEY_CLASS_ROOT\Word.Document.8\DefaultIcon\(par défaut)

Là il me sort l'emplacement de l'icône de Word :
C:\WINNT\Installer\{0001040C-78E1-11D2-B60F-006097C998E7}\wordicon.exe,1

C'est dans un fichier exécutable, et le 1 signifie que c'est la première icône dans cette bibliothèque...


Alors maintenant, afin de pouvoir l'afficher dans mon listView, je suppose que je doive mettre mon icône dans une ImageList


ImageList img = new ImageList();
img.Images.Add(Image.FromFile("C:\WINNT\Installer\{0001040C-78E1-11D2-B60F-006097C998E7}\wordicon.exe,1"));

Et ce code plante...
Quand je vais dans les détails de l'erreur ça me met qu'il trouve pas le fichier : System.IO.FileNotFoundException
Est-ce parce que le répertoire c:\Winnt\Installer\ est un répertoire réservé à windows, et que mon prog n'aurait pas les droits pour rentrer dedans ????

Je n'ai pas encore trouvé le moyen d'ajouter cette icône à mon ImageList...

Et juste pour voir, j'ai retiré le '1' à la fin et ça met une autre erreur : out of memory


Alors, si quelqu'un s'y connait là dedans, qu'il me réponde...


Merci d'avance...
Et bonnes fêtes à tous...


NB : là je met dans mon code le chemin direct pour une icône Word afin de mieux vous expliquer , mais dans mon prog c'est automatisé dans une boucle...

mercredi 15 décembre 2004 à 17:06:07 | Re : Récupérer les icônes types des fichiers connus par Windows

nerix27

Re-bonjour,
j'ai copié la bibliothèque wordicon.exe sous c:\
et changé mon code :
img.Images.Add(Image.FromFile("C:\\wordicon.exe,1"));

Et ça marche pas non plus, donc ce n'est pas un problème de droits sur le répertoire winnt\Installer\

Je vois toujours pas la soluce... ;-(
mercredi 15 décembre 2004 à 17:37:52 | Re : Récupérer les icônes types des fichiers connus par Windows

nerix27

Réponse acceptée !
Re-re-bonjour,
à force de surfer, j'ai trouvé la soluce...

Alors, il faut ajouter le namespace
using System.Runtime.InteropServices;

Dans votre classe, vous devez déclarez une fonction système qui se trouve dans une dll du système :

[DllImport("Shell32.dll")]
public extern static int ExtractIconEx( string nomFich,
int iconIndex,
IntPtr[] tabLargeIcon,
IntPtr[] tabSmallIcon,
int nbIcons );


Et ensuite, dans le code, on met :

ImageList img = new ImageList();
...
IntPtr[] Icone = new IntPtr[1];
int n = ExtractIconEx(@"C:\\WINNT\\Installer\\{0001040C-78E1-11D2-B60F-006097C998E7}\\wordicon.exe", 1, null, Icone, 1 );
Icon ic = Icon.FromHandle(Icone[0]);
img.Images.Add(ic);
...
listView.SmallImageList = img;
listView.Items.Add("fichier_exemple.doc");
listView.Items[index].ImageIndex = 0;



J'espère que ça pourra aider quelqu'un...
:)
mardi 26 juillet 2005 à 22:26:20 | Re : Récupérer les icônes types des fichiers connus par Windows

gluk


Merci beaucoup pour cette info,
Gluk


Cette discussion est classée dans : fichier, windows, word, icône, imagelist


Répondre à ce message

Sujets en rapport avec ce message

[Appli Windows][c#] Téléchargement automatiquement un fichier sur un site [ par Julos59 ] Bonjour,Je début en c#, donc c'est peut être une question bête mais bon, j'ai beau chercher je trouve pas.je voudrais savoir comment faire pour que qu Mon appli empêche la fermeture de windows [ par gazous ] J'ai développé une application C# avec une icône dans la systray, et dont la fenêtre peut être affichée ou masquée en cliquant sur l'icône (un peu com Installation d'IIS ... [ par maevacmoi ] Hello !J'ai un fichier d'installation .msi, qui contient mon application C#.net. Lors de l'exécution de ce fichier, il demande l'installation du frame Animation & ressource... [ par welc ] Bonjour,J'utilise MS Visual C#.J'ai récupéré l'animation AVI qui apparait quant on copie un fichier sous windows xp.Je voudrais donc l'intégrer à mon Lire et trouver un mot dans un fichier WORD [ par petitelarve ] Bonjour a vous tous! Quelqu'un sait-il comment lire dans un fichier Word pour y effectuer une recherche sur des mots précis ? C'est un casse tete je t Pb MSCOMM32.OCX [ par hetneo ] Bonjour à tous.J'essai d'utiliser MSCOMM32.OCX pour communiquer avec les ports COM du PC.Jusqu'à pas trop de probleme, sinon que je me suis rendu comp Menu systeme ? [ par zrelli ] Bonjour, je veux changer le menu contextuelle de windows pour les dossiers qui contienent un fichier ou un dossier bien determiné : par exemple pour Wiaacmgr.exe (Windows Image Acquisition) [ par gcabay ] Bonjour,Quelqu'un pourrait-il me dire si il est possible de mettre des extensions aWiaacmgr.exe (Windows Image Acquisition) j'aimerai définir la webca word + csharp [ par sahliali ] Salut à tous,je voudrais piloter le traitement de text Word à partir de mon appliction. En fait, j'arrive à ouvrir Word, avec un fichier.Mais je voudr Drag Drop de fichiers [ par Popolino69 ] Comment fat-on pour gerer le Drag Drop de fichier depuis l'explorateur windows vers mon application.Et aussi depuis mon application vers l'explorateur


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales