Veröffentlicht 1. Juli 200322 j Mein Programm soll mit hilfe eines Pfades z.b. C:\Testprogramm.exe das icon der Datei auf dem dialogfeld anzeigen. dazu brauch ich das Handle auf das Icon! könnt ihr mir sagen wie ich anhand der datei das HICON bekomme?! Wär super wenn ihr mir helfen könntet! Danke SwordMaster
1. Juli 200322 j das Icon einer Exe-Datei wird einfach hinten an die Datei geschrieben, und es gibt spezielle Programme um es zu extrahieren... in der MSDN gibts auch was, schau mal mit der suche nach icon
2. Juli 200322 j Autor direkt aus der dateilesen hab ich nicht hingebracht! trotzdem danke! habs jetzt diese 2 funktionen gefunden die funktionieren HIMAGELIST GetIconList (int Large) { SHFILEINFO sfi; int mode; mode=(Large)? SHGFI_ICON:SHGFI_SMALLICON; return (HIMAGELIST)SHGetFileInfo("",0,&sfi,sizeof(sfi),SHGFI_PIDL |SHGFI_SYSICONINDEX|mode); } // Mode: SHGFI_LARGEICON Große Icons // SHGFI_SMALLICON Kleines Icon // SHGFI_OPENICON Icon geöffnet // SHGFI_USEFILEATTRIBUTES Icon aus int GetIconNr(const char *Filaname,int Mode) { SHFILEINFO sfi; int result; result=SHGetFileInfo(Filaname,0,&sfi,sizeof(sfi),SHGFI_ICON|Mode); if(result)return sfi.iIcon; return -1; }
9. Juli 200322 j Die Funktion ExtractIcon bzw. ExtractIconEx könnten helfen. Beispiel: // Anzahl Icon in der Datei ermitteln. int iIcons = ExtractIcon(hInstance, 0, -1); // alternativ int iIcons = ExtractIconEx(0, -1, 0, 0, 0); // Icon extrahieren HICON hIcon = ExtractIcon(hInstance, "C:\\Datei.exe", 0) // erstes Icon //alternativ HICON hicoSmall = 0; HICON hicoLarge = 0; ExtractIconEx("C:\\Datei.exe", -5, hicoSmall, hicoLarge, 1); // 5. Icon für weitere Informationen einfach noch einmal auf msdn.microsoft.com suchen
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.