ExtraIcon.bas
上传用户:davilee3
上传日期:2015-04-22
资源大小:986k
文件大小:2k
源码类别:

浏览器

开发平台:

Visual Basic

  1. Attribute VB_Name = "mExtraIcon"
  2. '---------------------------------------------------------------------------------------
  3. ' Module    : mExtraIcon
  4. ' DateTime  : 2005-3-16 00:23
  5. ' Author    : Lingll
  6. ' Purpose   : 导出icon
  7. '---------------------------------------------------------------------------------------
  8. Option Explicit
  9. 'Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
  10. Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long
  11. 'Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
  12. 'Private Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long
  13. 'Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
  14. 'Private Const DI_NORMAL As Long = &H3
  15. 'Private Type ICONINFO
  16. '    fIcon As Long
  17. '    xHotspot As Long
  18. '    yHotspot As Long
  19. '    hbmMask As Long
  20. '    hbmColor As Long
  21. '
  22. 'End Type
  23. 'Private Declare Function GetIconInfo Lib "user32" (ByVal hIcon As Long, piconinfo As ICONINFO) As Long
  24. '
  25. '
  26. 'Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
  27. 'Private Type BITMAP
  28. '    bmType As Long
  29. '    bmWidth As Long
  30. '    bmHeight As Long
  31. '    bmWidthBytes As Long
  32. '    bmPlanes As Integer
  33. '    bmBitsPixel As Integer
  34. '    bmBits As Long
  35. '
  36. 'End Type
  37. 'Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  38. Public Function ExtraIconVb(vFile$, vIndex&, Optional vIsSmall As Boolean = True) As Long
  39. Dim tIcon&
  40. If vIsSmall Then
  41.     Call ExtractIconEx(vFile, vIndex, ByVal 0&, tIcon, 1)
  42. Else
  43.     Call ExtractIconEx(vFile, vIndex, tIcon, ByVal 0&, 1)
  44. End If
  45. ExtraIconVb = tIcon
  46. End Function