Как видно из Этот вопрос о получении значков для общих типов файлов, вполне возможно, что программа Windows получит значки для зарегистрированного типа файла с помощью С++ Shell API. Эти значки могут быть или не быть на диске - например, мы хотели создать собственный собственный браузер файлов и хотим отобразить связанный с системой значок с файлом.
Есть ли собственный способ С# для получения значков для разных типов файлов (и если да, как) или это должно быть сделано через PInvoke с API-интерфейсом оболочки?
И как продолжение, если есть собственный способ .NET, это кросс-платформенный способ сделать это?