抽出されたアイコンを保存すると、8 ビットのチャンネル アイコンしかありません。32 ビット アイコンを取得するにはどうすればよいですか? 私が使用するコードは次のとおりです。
Public Sub LoadIcon()
Dim path = My.Computer.FileSystem.SpecialDirectories.Desktop + "\icon\"
Dim filePath As String = "С:/Windows/explorer.exe"
Dim TheIcon As Icon = IconFromFilePath(filePath)
If TheIcon IsNot Nothing Then
Using stream As New System.IO.FileStream(path + "programicon.ico", IO.FileMode.CreateNew)
TheIcon.Save(stream)
End Using
End If
PictureBox1.Load(path + "programicon.ico")
End Sub
Public Function IconFromFilePath(ByVal filePath As String) As Icon
Dim result As Icon = Nothing
Try
result = Icon.ExtractAssociatedIcon(filePath)
Catch
End Try
Return result
End Function
このアイコンを返しています: