home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / tray1 / tray.bas < prev    next >
Encoding:
BASIC Source File  |  1996-05-02  |  4.0 KB  |  91 lines

  1. Attribute VB_Name = "Module1"
  2. Public Const WM_LBUTTONDOWN = &H201
  3. ' // Tray notification definitions
  4. Global IconIndex As Integer
  5. Global FlashOn As Boolean
  6.  
  7. Type NOTIFYICONDATA
  8.         cbSize As Long
  9.         hwnd As Long
  10.         uID As Long
  11.         uFlags As Long
  12.         uCallbackMessage As Long
  13.         hIcon As Long
  14.         szTip As String * 64
  15. End Type
  16.  
  17. Public Const NIM_ADD = &H0
  18. Public Const NIM_MODIFY = &H1
  19. Public Const NIM_DELETE = &H2
  20.  
  21. Public Const NIF_MESSAGE = &H1
  22. Public Const NIF_ICON = &H2
  23. Public Const NIF_TIP = &H4
  24.  
  25. Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
  26.  
  27. Type SHFILEINFO
  28.         hIcon As Long                      '  out: icon
  29.         iIcon As Long          '  out: icon index
  30.         dwAttributes As Long               '  out: SFGAO_ flags
  31.         szDisplayName As String * 255 'MAX_PATH '  out: display name (or path)
  32.         szTypeName As String * 80         '  out: type name
  33. End Type
  34.  
  35. Public Const SHGFI_ICON = &H100                         '  get icon
  36. Public Const SHGFI_DISPLAYNAME = &H200                  '  get display name
  37. Public Const SHGFI_TYPENAME = &H400                     '  get type name
  38. Public Const SHGFI_ATTRIBUTES = &H800                   '  get attributes
  39. Public Const SHGFI_ICONLOCATION = &H1000                '  get icon location
  40. Public Const SHGFI_EXETYPE = &H2000                     '  return exe type
  41. Public Const SHGFI_SYSICONINDEX = &H4000                '  get system icon index
  42. Public Const SHGFI_LINKOVERLAY = &H8000                 '  put a link overlay on icon
  43. Public Const SHGFI_SELECTED = &H10000                   '  show icon in selected state
  44. Public Const SHGFI_LARGEICON = &H0                      '  get large icon
  45. Public Const SHGFI_SMALLICON = &H1                      '  get small icon
  46. Public Const SHGFI_OPENICON = &H2                       '  get open icon
  47. Public Const SHGFI_SHELLICONSIZE = &H4                  '  get shell size icon
  48. Public Const SHGFI_PIDL = &H8                           '  pszPath is a pidl
  49. Public Const SHGFI_USEFILEATTRIBUTES = &H10             '  use passed dwFileAttribute
  50.  
  51. Declare Function SHGetFileInfo Lib "shell32.dll" Alias " SHGetFileInfoA" (ByVal pszPath As String, ByVal dwFileAttributes As Long, psfi As SHFILEINFO, ByVal cbFileInfo As Long, ByVal uFlags As Long) As Long
  52.  
  53. Declare Function SHGetNewLinkInfo Lib "shell32.dll" Alias "SHGetNewLinkInfoA" (ByVal pszLinkto As String, ByVal pszDir As String, ByVal pszName As String, pfMustCopy As Long, ByVal uFlags As Long) As Long
  54.  
  55. Public Const SHGNLI_PIDL = &H1                          '  pszLinkTo is a pidl
  56. Public Const SHGNLI_PREFIXNAME = &H2                    '  Make name "Shortcut to xxx"
  57.  
  58. ' // End SHGetFileInfo
  59. 'Get the menu handle
  60. Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
  61. Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
  62. 'make it pop up
  63. Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, lpRect As Any) As Long
  64. ' Flags for TrackPopupMenu
  65. Public Const TPM_LEFTBUTTON = &H0&
  66. Public Const TPM_RIGHTBUTTON = &H2&
  67. Public Const TPM_LEFTALIGN = &H0&
  68. Public Const TPM_CENTERALIGN = &H4&
  69. Public Const TPM_RIGHTALIGN = &H8&
  70.  
  71. Type RECT
  72.         Left As Long
  73.         Top As Long
  74.         Right As Long
  75.         Bottom As Long
  76. End Type
  77. Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
  78. Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
  79.  
  80. 'Tray messages
  81. Public Const TRAY_MSG_MOUSEMOVE = 7680
  82. Public Const TRAY_MSG_LEFTBTN_DOWN = 7695
  83. Public Const TRAY_MSG_LEFTBTN_UP = 7710
  84. Public Const TRAY_MSG_LEFTBTN_DBLCLICK = 7725
  85. Public Const TRAY_MSG_RIGHTBTN_DOWN = 7740
  86. Public Const TRAY_MSG_RIGHTBTN_UP = 7755
  87. Public Const TRAY_MSG_RIGHTBTN_DBLCLICK = 7770
  88.  
  89.  
  90.  
  91.