SwordMaster Geschrieben 1. Juli 2003 Geschrieben 1. Juli 2003 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
ITSE Geschrieben 1. Juli 2003 Geschrieben 1. Juli 2003 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
SwordMaster Geschrieben 2. Juli 2003 Autor Geschrieben 2. Juli 2003 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; }
maddin Geschrieben 9. Juli 2003 Geschrieben 9. Juli 2003 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden