Es gibt mehrere Orte, die darüber sprechen, wie man ein Icon von einer Dateiendung wie dies bekommt ein und dieses andere . Nach einigen Stunden des Spielens mit dieser Art von Projekten habe ich es geschafft, etwas wie:
zu bauen %Vor%Die Ausführung dieser Schaltfläche ruft mich auf:
Aber ich versuche, das große Icon zu bekommen. Beachten Sie, dass die Symbole in Windows viel größer sind:
Wie könnte ich dieses Symbol anstelle des kleineren Symbols bekommen? Ich habe so viel Zeit damit verbracht, die anderen Programme zu ändern. Außerdem möchte ich es mit wpf arbeiten lassen und die meisten Beispiele sind mit Windows-Formen. Ich würde mich freuen, wenn ich ein Beispiel dafür bekomme, wie man ein Dateisymbol extrahiert, anstatt das gesamte Projekt zu modifizieren. Wenn das nicht möglich ist, wäre das immer noch sehr hilfreich und ich werde es zu schätzen wissen. Es ist nur so, dass ich nicht so gut von einem Programmierer bin, und ich brauchte viel Zeit, um die anderen Beispiele zu modifizieren.
Der Code, auf den Sie verweisen, verwendet nur zwei Größen:
%Vor%Um die extra_large-Größe zu erhalten, müssen Sie eine eigene Definition hinzufügen (und eine weitere enum für Aufruffunktionen hinzufügen):
%Vor% oder wenn Sie nur eine schnelle Lösung möchten, ersetzen Sie 0x000000000
durch 0x000000002
in der ursprünglichen großen Definition.
Hier sind alle Symbolgrößen: Ссылка
Sie können nicht ShGetFileInfo ExtraLarge und Jumbo-Symbole zurückgeben.
Stattdessen
1) Rufen Sie ShGetFileInfo mit dem Flag SysIconIndex (0x000004000) auf 2) Holen Sie die System-Image-Liste mit der richtigen Größe mit ShGetImageList 3) Holen Sie den HICON mit ImageList_GetIcon und den .IIcon-Wert von SHFILEINFO.
Tags und Links wpf c# icons file-extension