В программе VB.NET в дереве отображается список файлов с иконками. Как сделать так, чтобы иконка соотвествовала приложению, который данный файл открывает? Ну например: файлу XXX.doc соответствует иконка, показывающая, что данный файл открывается Word
PrivateSharedFunction SHGetFileInfo(ByVal pszPath AsString, ByVal dwFileAttributes As UInteger, ByRef psfi As SHFILEINFO, ByVal cbSizeFileInfo As UInteger, ByVal uFlags As UInteger) As IntPtr
EndFunction
PrivateConst SHGFI_ICON As UInteger = &H100
PrivateConst SHGFI_SMALLICON As UInteger = &H1
PrivateConst SHGFI_LARGEICON As UInteger = &H0
Dim shinfo As SHFILEINFO
shinfo = New SHFILEINFO
Dim info AsNew FileInfo(filename)
Dim ext AsString = info.Extension
IfString.IsNullOrEmpty(ext) Then
If ((info.Attributes & FileAttributes.Directory) <> 0) Then
ext = "5EEB255733234c4dBECF9A128E896A1E"
Else
ext = "F9EB930C78D2477c80A51945D505E9C4"
EndIf
Else
If (ext.Equals(".exe", StringComparison.InvariantCultureIgnoreCase) Or ext.Equals(".lnk", StringComparison.InvariantCultureIgnoreCase)) Then ext = info.Name
EndIf
SHGetFileInfo(mass(i), 0, shinfo, Convert.ToUInt32(Marshal.SizeOf(shinfo)), SHGFI_ICON Or SHGFI_SMALLICON)
Dim smallpict As Bitmap = Bitmap.FromHicon(shinfo.hIcon)
<StructLayout(LayoutKind.Sequential)> _
Private Structure SHFILEINFO
Public hIcon As IntPtr
Public iIcon As IntPtr
Public dwAttributes As UInteger
<MarshalAs(UnmanagedType.ByValTStr, Size ...
Я, извиняюсь, СОВСЕМ не продвинутый, а можно по-подробнее ... Прокоментируйте, пожалуйста свой листинг