Option Explicit
Const SHGFI_SMALLICON = &H1
Const SHGFI_SYSICONINDEX = &H4000
Const SHGFI_DISPLAYNAME = &H200
Const SHGFI_TYPENAME = &H400
Const MAX_PATH = 260
Const WM_SETICON = &H80
Const ICON_BIG = 1
Const SHGFI_LARGEICON = &H0
Const ICON_SMALL = 0
Const SHGFI_ICON = &H100Private Type SHFILEINFO
    hIcon As Long                     
    iIcon As Long          
    dwAttributes As Long               
    szDisplayName As String * MAX_PATH 
    szTypeName As String * 80         
End Type
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Declare Function SHGetFileInfo Lib "shell32.dll" Alias "SHGetFileInfoA" (ByVal pszPath As String, ByVal dwFileAttributes As Long, psfi As SHFILEINFO, ByVal cbFileInfo As Long, ByVal uFlags As Long) As LongPrivate Sub Form_Load()
Dim Rt&
    'DeityFox 2001
    'URL: http://www.dimsun.com/
    'E-Mail: [email protected]
    Dim FI As SHFILEINFO
    Rt = SHGetFileInfo("c:\winnt\notepad.exe", 0, FI, Len(FI), SHGFI_ICON Or SHGFI_SYSICONINDEX Or SHGFI_TYPENAME)
    SendMessage Me.hwnd, WM_SETICON, 1, ByVal FI.hIcon
End Sub