Laden...

[erledigt] Icon/Bild aus Datei extrahieren (verknüpftes Programm)

Erstellt von snoop83 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.718 Views
S
snoop83 Themenstarter:in
46 Beiträge seit 2006
vor 15 Jahren
[erledigt] Icon/Bild aus Datei extrahieren (verknüpftes Programm)

Hallo,

ich versuche vergebens, das Icon aus einer Datei zu extrahieren, mit dem diese Datei verbunden ist.

Beispiel:
MP3-Dateien sind auf dem aktuellen Rechner mit Winamp verknüpft, also haben alle MP3s ein Winamp-Symbol.

Ich such nach einer Möglichkeit, die mir für die Dateiendung .mp3 (oder eine konkrete .mp3-Datei) das entsprechende Icon/Bild liefert, so wie es im Explorer angezeigt wird.

Habe leider mit der Forensuche nichts finden können 🙁

Grüße,
Mario

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo snoop83,

Ich such nach einer Möglichkeit, die mir für die Dateiendung .mp3 (oder eine konkrete .mp3-Datei) das entsprechende Icon/Bild liefert, so wie es im Explorer angezeigt wird.

da bist du nicht der Erste. Entsprechend ist das Forum und das Netz voll von Lösungen. 🙂 Bitte benutze die Forumssuche und poste die besten Treffer hier. Vielen Dank!

Suchbegriffe sind HKEY_CLASSES_ROOT, DefaultIcon für das Ermitteln des Icons und StolenIcon zum Herausholen.

herbivore

S
snoop83 Themenstarter:in
46 Beiträge seit 2006
vor 15 Jahren

Danke für die Tipps, damit findet sich natürlich was 🙂

Der Thead hier könnte somit gelöscht werden..

123 Beiträge seit 2008
vor 15 Jahren

Nö,

es wäre Sinvoller wenn Du gute Ergebnisse als Link einstellst. Denn wenn jemand diesen Beitrag findet weil hier die passenden Keywords stehen, kommt diese Person weiter. Löscht man den Thread einfach, löscht man auch Wissen aus.

Z.B. ist an diesem Beitrag die Information nach was man suchen kann Wertvoll. Sowas löscht man nich einfach 😮)

S
snoop83 Themenstarter:in
46 Beiträge seit 2006
vor 15 Jahren

Mit den 3 von dir genannten Stichwörtern findet man die Beiträge schnell. Ich poste mal einen Sample-Code von mir:


private void loadACDSeeImage()
{
	tryToLoadIcon(@"C:\Programme\Gemeinsame Dateien\ACD Systems\PlugIns2\IDE_ACDStd.apl", 2);
}

private void tryToLoadIcon(String pPath, int pIndex)
{
	// HKEY_CLASSES_ROOT
	// DEFAULTICON

	uint iconNum = ExtractIconEx(
		pPath, // filepath
		-1, // start
		null, // large icon out
		null, // small icon out
		0); // number of icons

	if (iconNum > 0)
	{
		this.labelIconNum.Text = iconNum.ToString() + " Icon(s)";

		if (pIndex < iconNum)
		{
			IntPtr[] largeIcons = new IntPtr[1];
			IntPtr[] smallIcons = new IntPtr[1];

			ExtractIconEx(
				pPath, // filepath
				pIndex, // start (index)
				largeIcons, // large icon out
				smallIcons, // small icon out
				1); // number of icons

			this.pictureBoxLarge.Image = Bitmap.FromHicon(largeIcons[0]);
			this.pictureBoxSmall.Image = Bitmap.FromHicon(smallIcons[0]);

			DestroyIcon(largeIcons[0]);
			DestroyIcon(smallIcons[0]);
		}
		else
		{
			this.labelIconNum.Text = "wrong icon index";
		}
	}
	else
	{
		this.labelIconNum.Text = "no icons found";
	}
}