Dateityp-Icon auslesen
-
Hallo !
Ich würde gerne das Icon des Dateityps einer Datei auslesen und ihn in eine Imagelist speichern um die dann in einem ListCtrl weiterzuverwenden...
Mein Problem ist bloss das es von der CImageList nicht angenommen wird:CImageList images; HICON test; SHFILEINFO info; int pos=-1; if(SHGetFileInfo( "c:\\test.cfg", 0, &info, sizeof( SHFILEINFO ), SHGFI_TYPENAME|SHGFI_DISPLAYNAME|SHGFI_ATTRIBUTES |SHGFI_ICON | SHGFI_SMALLICON)!=0){ if(info.hIcon!=NULL){ pos = images.Add(info.hIcon); if(pos != -1) m_PluginListe.SetImageList(&images,LVSIL_SMALL); } }(c:\backup.reg existiert und ich kann mir auch die beschreibung des dateityps bei der debuggerüberwachung ansehen.
Des weiteren ist info.hIcon nie Null allerdings ist pos auch nie ungleich -1 bzw ich krieg bei add nen speicherfehler
danke für die hilfe!
-
-
jo danke scheint genau das zu sein wonach ich gesucht hab und ich werds morgen mal ausprobieren

-
mhhh das ist irgendwie nich das was ich suche...
da geht es darum den iconcache von windows auszulesen, da sind aber garnicht alle icons für alle dateitypen drin sondern nur die auf dem desktop.
ich glaube ich hab das problem gefunden...
ich krieg bei images.Add( immer nen fehler obwohl ich schon mehrere iconquellen gewählt hab (mfc-dialogicon, ressource usw...)Muss ich da noch nirgendwie dran rum initialisieren oder so ?
pos = images.Add(LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_PLUGICON)));Oder hat jemand ein Bsp wie ich ein Icon in den Exeressourcen zu einer CImageList hinzufüge? Das ist zwar nicht so schön aber geht im Notfall auch....
-
ok man muss noch ruminitialisieren

prob sich am lösen
danke flenders!