Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

[erledigt] Icon/Bild aus Datei extrahieren (verknüpftes Programm)
snoop83
myCSharp.de - Member



Dabei seit:
Beiträge: 46

Themenstarter:

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

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo snoop83,
Zitat
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
private Nachricht | Beiträge des Benutzers
snoop83
myCSharp.de - Member



Dabei seit:
Beiträge: 46

Themenstarter:

beantworten | zitieren | melden

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


Der Thead hier könnte somit gelöscht werden..
private Nachricht | Beiträge des Benutzers
Knuddlbaer
myCSharp.de - Member

Avatar #avatar-2610.gif


Dabei seit:
Beiträge: 123

beantworten | zitieren | melden

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 :o)
private Nachricht | Beiträge des Benutzers
snoop83
myCSharp.de - Member



Dabei seit:
Beiträge: 46

Themenstarter:

beantworten | zitieren | melden

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";
	}
}
private Nachricht | Beiträge des Benutzers