我有下面的代码来使用Shell32 dll加载图标。它在我的机器上正常工作。但是生产环境中的一个系统出现异常,说“传递给Icon的System.ArgumentException:Win32句柄无效或类型错误”。 任何想法,为什么我们得到这个错误?谢谢!System.ArgumentException:传递给Icon的Win32句柄无效或类型错误
Public Function GetExecutableIcon() As Icon
Dim large As IntPtr
Dim small As IntPtr
ExtractIconEx(Application.ExecutablePath, 0, large, small, 1)
Return Icon.FromHandle(small)
End Function
<DllImport("Shell32")> _
Public Shared Function ExtractIconEx(ByVal sFile As String, ByVal iIndex As Integer,
ByRef piLargeVersion As IntPtr, ByRef piSmallVersion As IntPtr,
ByVal amountIcons As Integer) As Integer
End Function
的功能并不仅仅获得一个指针。它获取*一个指向数组的指针*,意味着指向指针*的指针。即使只有一个图标,也需要一组图标,图标(1) – 2014-10-20 18:31:07