خوب اول این Structure زیر کلاست تعریف کن :
Private Structure SHFILEINFO
Public hIcon As IntPtr
Public iIcon As Integer
Public dwAttributes As Integer
Public szDisplayName As String
Public szTypeName As String
End Structure
بعد هم خود API رو :
Private Declare Ansi Function SHGetFileInfo Lib "shell32.dll" (ByVal pszPath As String, ByVal dwFileAttributes As Integer, _
ByRef psfi As SHFILEINFO, ByVal cbFileInfo As Integer, ByVal uFlags As Integer) As IntPtr
حالا این ها هم زیر API :
Private Const SHGFI_ICON = &H100
Private Const SHGFI_SMALLICON = &H1
Private Const SHGFI_LARGEICON = &H0
طریقه استفادش هم این جوریه :
Dim Shinfo As SHFILEINFO = New SHFILEINFO
SHGetFileInfo("C:\Saman_12.exe", 0, Shinfo, Marshal.SizeOf(Shinfo), SHGFI_ICON Or SHGFI_SMALLICON Or SHGFI_LARGEICON)
Dim Icon As System.Drawing.Icon
Icon = System.Drawing.Icon.FromHandle(Shinfo.hIcon)
خوب این یک آیکون ازبرنامه مورد نظر که اینجا همون Saman_12 موجود توی درایو C هستش رو به هت میده برای این که بتونی توی پیکچر باکس نشونش بدی از خاصیت ToBitmap خود Icon استفاده کن.