2008-11-07 14 views
7

Mam formularz, który wyświetla informacje o pliku w TabControl, i chciałbym, aby strony miały ikonę pliku w ich zakładce. Jak uzyskać ikonę powiązaną z typem pliku?Jak uzyskać ikonę skojarzoną z typem pliku?

Wolałbym rozwiązania, które nie wymagają szukania w rejestrze, ale jeśli to jedyny sposób, to niech tak będzie.

Odpowiedz

12

CodeProject ma kilka klas, które można pobrać.

Najpierw pobierz FileAssociationInfo, a następnie pobierz ProgramAssociationInfo. Obiekt pai może dać ci ikonę.

FileAssociationInfo fai = new FileAssociationInfo(".bob"); 
ProgramAssociationInfo pai = new ProgramAssociationInfo(fai.ProgID); 
ProgramIcon icon = pai.DefaultIcon; 
+0

Wygląda dobrze, ale w jaki sposób mogę uzyskać FileAssociationInfo? W MSDN nie ma nic o żadnej z tych klas. – Simon

+1

Tutaj możesz pobrać klasy: http://channel9.msdn.com/playground/Sandbox/249856-System-File-Association/ – Ikke

+0

Mój zły, zapomniałem dodać link. –

10
+5

Działa to tylko dla rzeczywistych plików, a nie plików * typ * s. – Simon

+1

Czy jest to specyficzne dla systemu Windows? Jeśli tak, czy istnieje rozwiązanie wieloplatformowe? –

+0

To nie działa, gdy plik nie istnieje. Staje się to problemem, gdy plik nie istnieje - ponieważ nie ma pliku. –

Powiązane problemy