使用API函数吧.
'=========================================================
'The following API (ExtractIcon) extracts a single icon from
'a file. This file can be an executable (.exe) file, a
'dynamic link library (.dll), or an icon file (.ico).
'Alternately, this function can also determine how many icons
'are stored in such a file. The icon generated by this
'function must be destroyed using DestroyIcon after the
'program has finished using it.
'PARAMETERS:
'hInst:
' A handle to the instance of the application calling
' the function.
'lpszExeFileName:
' The name of an .exe, .dll, or .ico to
' extract an icon from.
'nIconIndex:
' If this is -1, the function returns the number
' of icons stored in the specified file. If this
' is a non-negative number, the function extracts
' the icon using this value as the zero-based
' index.
'=========================================================
Public Declare Function ExtractIcon Lib "shell32.dll" _
Alias "ExtractIconA" (ByVal hInst As Long, _
ByVal lpszExeFileName As String, _
ByVal nIconIndex As Long) As Long