VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 如何在VB中用API获得EXE文件图标并显示在Picture控件里
发表评论(0)作者:, 平台:, 阅读:10661, 日期:2000-03-12


如何在VB中用API获得EXE文件图标并显示在Picture控件里



Option Explicit

Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long

Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long

Private Sub Command1_Click()

Dim total As Long

Dim p(50) As Long

Dim i As Integer

Me.Picture1.Cls

Me.CommonDialog1.Filter = "图标|*.Exe;*.Ico;*.Dll"

Me.CommonDialog1.ShowOpen

If Dir(Me.CommonDialog1.filename) <> "" Then

If ExtractIcon(App.hInstance, Me.CommonDialog1.filename, -1) = 0 Then '如果没有图标

MsgBox "No Icon!"

Else

total = ExtractIcon(App.hInstance, Me.CommonDialog1.filename, -1)

'取得总图标数

For i = 0 To total - 1

p(i) = ExtractIcon(App.hInstance, Me.CommonDialog1.filename, i) '读取每个图标

Next i

For i = 0 To total - 1 '依次显示每个图标

DrawIcon Picture1.hdc, 34 * i, 0, p(i)

Next i

End If

End If

End Sub