Option ExplicitPrivate Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As LongPrivate Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As LongPrivate Sub Command1_Click()Dim total As LongDim p(50) As LongDim I As IntegerMe.Picture1.ClsMe.CommonDialog1.Filter = "图标|*.Exe;*.Ico;*.Dll"Me.CommonDialog1.ShowOpenIf 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 IfEnd IfEnd Sub
Next I For I = 0 To total - 1 '依次显示每个图标 DrawIcon Picture1.hdc, 34 * I, 0, p(I) Next I End IfEnd IfEnd Sub