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 Zitieren
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 Zitieren
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; } Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.