In un Modulo .bas
codice:
Public Type NOTIFYICONDATA
       cbsize As Long
       hwnd As Long
       uid As Long
    uflags As Long
       ucallbackmessage As Long
       hicon As Long
       sztip As String * 64
End Type
Public leo As NOTIFYICONDATA
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const WM_MOUSEMOVE = &H200
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_LBUTTONDOWN = &H201     'Button down
Public Const WM_LBUTTONUP = &H202       'Button up
Public Const WM_LBUTTONDBLCLK = &H203   'Double-click
Public Const WM_RBUTTONDOWN = &H204     'Button down
Public Const WM_RBUTTONUP = &H205       'Button up
Public Const WM_RBUTTONDBLCLK = &H206   'Double-click
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Function HyperJump(ByVal URL As String) As Long
   HyperJump = ShellExecute(0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus)
End Function
Public Sub Icona(testo As String, f As Form)
trayicona = True
 With leo
      .cbsize = Len(leo)
      .hwnd = f.hwnd
      .uid = vbNull
      .uflags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
      .ucallbackmessage = WM_MOUSEMOVE
      .hicon = f.Icon
      .sztip = testo
   End With
Shell_NotifyIcon NIM_ADD, leo
End Sub