home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / CODE_UPLOAD44093302000.psc / Shell_Declares.bas < prev    next >
Encoding:
BASIC Source File  |  2000-03-29  |  10.8 KB  |  225 lines

  1. Attribute VB_Name = "Shell_Declares"
  2. Option Explicit
  3.  
  4. '----------------------------------
  5. '- Shell Extension API Declares...
  6. '----------------------------------
  7. Public Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (lpString1 As Any, lpString2 As Any) As Long
  8. Public Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (lpstring As Any) As Long
  9.  
  10. Public Declare Function CLSIDFromProgID Lib "ole32.dll" (ByVal ProgID As String, rClsId As Any) As Long
  11. Public Declare Function StringFromGUID2 Lib "ole32.dll" (rguid As Any, ByVal lpstrClsId As Long, ByVal cbMax As Long) As Long
  12. Public Declare Function ReleaseStgMedium Lib "ole32.dll" (pMedium As STGMEDIUM) As Long
  13. Public Declare Function DragQueryFile Lib "shell32.dll" Alias "DragQueryFileA" (ByVal HDROP As Long, ByVal pUINT As Long, ByVal lpStr As String, ByVal ch As Long) As Long
  14. Public Declare Function GetShortPathNameA Lib "kernel32" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
  15.  
  16. Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal ByteLen As Long)
  17. Public Declare Function VirtualProtect Lib "kernel32" (ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flNewProtect As Long, ByRef lpflOldProtect As Long) As Long
  18. Public Declare Function CreateIC Lib "gdi32" Alias "CreateICA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, ByVal lpInitData As String) As Long
  19. Public Declare Function GetTextMetrics Lib "gdi32" Alias "GetTextMetricsA" (ByVal hdc As Long, lpMetrics As TEXTMETRIC) As Long
  20. Public Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
  21. Public Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
  22. Public Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
  23. Public Declare Function CreateBitmapIndirect Lib "gdi32" (lpBitmap As Any) As Long
  24. Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
  25. Public Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
  26. Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  27. Public Declare Function FindResource Lib "kernel32" Alias "FindResourceA" (ByVal hInstance As Long, ByVal lpName As String, ByVal lpType As String) As Long
  28. Public Declare Function LoadBitmap Lib "user32" Alias "LoadBitmapA" (ByVal hInstance As Long, ByVal lpBitmapName As String) As Long
  29. Public Declare Function LoadResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
  30. Public Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
  31. Public Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Long) As Long
  32. Public Declare Function InsertMenu Lib "user32" Alias "InsertMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As String) As Long
  33. Public Declare Function InsertMenuBmp Lib "user32" Alias "InsertMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Long) As Long
  34. Public Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
  35. Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
  36. Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
  37.  
  38.  
  39. '----------------------------------
  40. '- Shell Extension Public Types...
  41. '----------------------------------
  42. Public Type STGMEDIUM
  43.     tymed               As Long     ' DWORD
  44.     hGlobal             As Long     ' [case(TYMED_HGLOBAL)]  HGLOBAL        hGlobal;
  45.     pUnkForRelease      As IUnknown ' [unique] IUnknown *pUnkForRelease;
  46. End Type
  47.  
  48. Public Type FORMATETC
  49.     cfFormat            As Long
  50.     ptd                 As Long
  51.     dwAspect            As Long
  52.     lindex              As Long
  53.     tymed               As Long
  54. End Type
  55.  
  56. Public Type uGUID       '{xxxx-xx-xx-xxxxxxxx}
  57.     Data1               As Long
  58.     Data2               As Integer
  59.     Data3               As Integer
  60.     Data4(7)            As Byte
  61. End Type
  62.  
  63. Public Type TEXTMETRIC
  64.     tmHeight            As Long
  65.     tmAscent            As Long
  66.     tmDescent           As Long
  67.     tmInternalLeading   As Long
  68.     tmExternalLeading   As Long
  69.     tmAveCharWidth      As Long
  70.     tmMaxCharWidth      As Long
  71.     tmWeight            As Long
  72.     tmOverhang          As Long
  73.     tmDigitizedAspectX  As Long
  74.     tmDigitizedAspectY  As Long
  75.     tmFirstChar         As Byte
  76.     tmLastChar          As Byte
  77.     tmDefaultChar       As Byte
  78.     tmBreakChar         As Byte
  79.     tmItalic            As Byte
  80.     tmUnderlined        As Byte
  81.     tmStruckOut         As Byte
  82.     tmPitchAndFamily    As Byte
  83.     tmCharSet           As Byte
  84. End Type
  85.  
  86. Public Type BITMAP
  87.     bmType              As Long
  88.     bmWidth             As Long
  89.     bmHeight            As Long
  90.     bmWidthBytes        As Long
  91.     bmPlanes            As Integer
  92.     bmBitsPixel         As Integer
  93.     bmBits              As Long
  94. End Type
  95.  
  96. Public Type CMINVOKECOMMANDINFO
  97.     cbSize              As Long    ' sizeof(CMINVOKECOMMANDINFO)
  98.     fMask               As Long    ' any combination of CMIC_MASK_*
  99.     hwnd                As Long    ' might be NULL (indicating no owner window)
  100.     lpVerb              As Long    ' either a string or MAKEINTRESOURCE(idOffset)
  101.     lpParameters        As Long    ' might be NULL (indicating no parameter)
  102.     lpDirectory         As Long    ' might be NULL (indicating no specific directory)
  103.     nShow               As Long    ' one of SW_ values for ShowWindow() API
  104.     dwHotKey            As Long
  105.     hIcon               As Long
  106. End Type
  107.  
  108. '----------------------------------------------------------
  109. '- Shell Extension Public Constants...
  110. '----------------------------------------------------------
  111. Public Const CF_HDROP = 15
  112. Public Const DVASPECT_CONTENT = 1
  113. Public Const TYMED_HGLOBAL = 1
  114.  
  115. Public Const PAGE_NOACCESS = &H1&
  116. Public Const PAGE_READONLY = &H2&
  117. Public Const PAGE_READWRITE = &H4&
  118. Public Const PAGE_WRITECOPY = &H8&
  119. Public Const PAGE_EXECUTE = &H10&
  120. Public Const PAGE_EXECUTE_READ = &H20&
  121. Public Const PAGE_EXECUTE_READWRITE = &H40&
  122. Public Const PAGE_EXECUTE_WRITECOPY = &H80&
  123. Public Const PAGE_GUARD = &H100&
  124. Public Const PAGE_NOCACHE = &H200&
  125. Public Const RT_BITMAP = 2&
  126. Public Const REG_SZ = 1&            ' Unicode null terminated string
  127.  
  128. 'System Parameter Constants
  129. Public Const SPI_SETDESKWALLPAPER = 20
  130. Public Const SPIF_SENDWININICHANGE = &H2
  131. Public Const SPIF_UPDATEINIFILE = &H1
  132.  
  133.  
  134. ' ;win40  -- A lot of MF_* flags have been renamed as MFT_* and MFS_* flags */
  135. ' Menu flags for Add/Check/EnableMenuItem()
  136. Public Const MF_INSERT = &H0&
  137. Public Const MF_CHANGE = &H80&
  138. Public Const MF_APPEND = &H100&
  139. Public Const MF_DELETE = &H200&
  140. Public Const MF_REMOVE = &H1000&
  141. Public Const MF_BYCOMMAND = &H0&
  142. Public Const MF_BYPOSITION = &H400&
  143. Public Const MF_SEPARATOR = &H800&
  144. Public Const MF_ENABLED = &H0&
  145. Public Const MF_GRAYED = &H1&
  146. Public Const MF_DISABLED = &H2&
  147. Public Const MF_UNCHECKED = &H0&
  148. Public Const MF_CHECKED = &H8&
  149. Public Const MF_USECHECKBITMAPS = &H200&
  150. Public Const MF_STRING = &H0&
  151. Public Const MF_BITMAP = &H4&
  152. Public Const MF_OWNERDRAW = &H100&
  153. Public Const MF_POPUP = &H10&
  154. Public Const MF_MENUBARBREAK = &H20&
  155. Public Const MF_MENUBREAK = &H40&
  156. Public Const MF_UNHILITE = &H0&
  157. Public Const MF_HILITE = &H80&
  158. Public Const MF_DEFAULT = &H1000&
  159. Public Const MF_SYSMENU = &H2000&
  160. Public Const MF_HELP = &H4000&
  161. Public Const MF_RIGHTJUSTIFY = &H4000&
  162. Public Const MF_MOUSESELECT = &H8000&
  163. Public Const MF_END = &H80&                      ' Obsolete -- only used by old RES files */
  164.  
  165. Public Const MFT_STRING = MF_STRING
  166. Public Const MFT_BITMAP = MF_BITMAP
  167. Public Const MFT_MENUBARBREAK = MF_MENUBARBREAK
  168. Public Const MFT_MENUBREAK = MF_MENUBREAK
  169. Public Const MFT_OWNERDRAW = MF_OWNERDRAW
  170. Public Const MFT_RADIOCHECK = &H200&
  171. Public Const MFT_SEPARATOR = MF_SEPARATOR
  172. Public Const MFT_RIGHTORDER = &H2000&
  173. Public Const MFT_RIGHTJUSTIFY = MF_RIGHTJUSTIFY
  174.  
  175. '- Menu flags for Add/Check/EnableMenuItem()
  176. Public Const MFS_GRAYED = &H3&
  177. Public Const MFS_DISABLED = MFS_GRAYED
  178. Public Const MFS_CHECKED = MF_CHECKED
  179. Public Const MFS_HILITE = MF_HILITE
  180. Public Const MFS_ENABLED = MF_ENABLED
  181. Public Const MFS_UNCHECKED = MF_UNCHECKED
  182. Public Const MFS_UNHILITE = MF_UNHILITE
  183. Public Const MFS_DEFAULT = MF_DEFAULT
  184.  
  185. '- QueryContextMenu uFlags
  186. Public Const CMF_NORMAL = &H0&
  187. Public Const CMF_DEFAULTONLY = &H1&
  188. Public Const CMF_VERBSONLY = &H2&
  189. Public Const CMF_EXPLORE = &H4&
  190. Public Const CMF_NOVERBS = &H8&
  191. Public Const CMF_CANRENAME = &H10&
  192. Public Const CMF_NODEFAULT = &H20&
  193. Public Const CMF_INCLUDESTATIC = &H40&
  194. Public Const CMF_RESERVED = &HFFFF0000          ' View specific
  195.  
  196.  
  197. ' GetCommandString uFlags
  198. Public Const GCS_VERBA = &H0&                   ' canonical verb
  199. Public Const GCS_HELPTEXTA = &H1&               ' help text (for status bar)
  200. Public Const GCS_VALIDATEA = &H2&               ' validate command exists
  201. Public Const GCS_VERBW = &H4&                   ' canonical verb (Unicode)
  202. Public Const GCS_HELPTEXTW = &H5&               ' help text (Unicode version)
  203. Public Const GCS_VALIDATEW = &H6&               ' validate command exists (Unicode)
  204.  
  205. Public Const CMDSTR_NEWFOLDER = "NewFolder"
  206. Public Const CMDSTR_VIEWLIST = "ViewList"
  207. Public Const CMDSTR_VIEWDETAILS = "ViewDetails"
  208.  
  209. '#define SEE_MASK_ICON           0x00000010
  210. '#define SEE_MASK_HOTKEY         0x00000020
  211. '#define SEE_MASK_FLAG_NO_UI     0x00000400
  212. '#define SEE_MASK_UNICODE        0x00004000
  213. '#define SEE_MASK_NO_CONSOLE     0x00008000
  214. '#define SEE_MASK_ASYNCOK        0x00100000
  215. '
  216. '#define CMIC_MASK_HOTKEY        SEE_MASK_HOTKEY
  217. '#define CMIC_MASK_ICON          SEE_MASK_ICON
  218. '#define CMIC_MASK_FLAG_NO_UI    SEE_MASK_FLAG_NO_UI
  219. '#define CMIC_MASK_UNICODE       SEE_MASK_UNICODE
  220. '#define CMIC_MASK_NO_CONSOLE    SEE_MASK_NO_CONSOLE
  221. '#define CMIC_MASK_HASLINKNAME   SEE_MASK_HASLINKNAME
  222. '#define CMIC_MASK_FLAG_SEP_VDM  SEE_MASK_FLAG_SEPVDM
  223. '#define CMIC_MASK_HASTITLE      SEE_MASK_HASTITLE
  224. '#define CMIC_MASK_ASYNCOK       SEE_MASK_ASYNCOK
  225.