积极答复者
文件路径有汉字会出问题

问题
答案
-
哦 对不起大家,我搞错了应该是这个 API函数:ExtractIcon
如文件地址里面有汉字的话,下面代码输出有些奇怪.Public Class Form1
Public Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" _
(ByVal hInst As IntPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Integer) As IntPtrPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim returnIcon As Icon
If Me.OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Label1.Text = Me.OpenFileDialog1.FileName
returnIcon = Icon.FromHandle(ExtractIcon(Me.Handle, Me.OpenFileDialog1.FileName, 0))
Label2.Text = Me.OpenFileDialog1.FileNameEnd If
End Sub结果,label1 和label2 的输出结果不一样.
全部回复
-
哦 对不起大家,我搞错了应该是这个 API函数:ExtractIcon
如文件地址里面有汉字的话,下面代码输出有些奇怪.Public Class Form1
Public Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" _
(ByVal hInst As IntPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Integer) As IntPtrPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim returnIcon As Icon
If Me.OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Label1.Text = Me.OpenFileDialog1.FileName
returnIcon = Icon.FromHandle(ExtractIcon(Me.Handle, Me.OpenFileDialog1.FileName, 0))
Label2.Text = Me.OpenFileDialog1.FileNameEnd If
End Sub结果,label1 和label2 的输出结果不一样.