Вот:
Declare Function Shell_NotifyIcon Lib "shell32.dll" _
Alias "Shell_NotifyIconA" (ByVal dwMessage As dwMess, _
IpData As NOTIFYICONDATA) As Long
Public Enum dwMess
NIM_ADD = &H0
NIM_DELETE = &H2
NIM_MODIFY = &H1
End Enum
Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uID As Long
uFlags As uF
uCallbackMessage As CallMess
hIcon As Long
szTip As String * 64
End Type
Public Enum uF
nif_message = &H1
nif_icon = &H2
nif_tip = &H4
End Enum
Public Enum CallMess
WM_MOUSEMOVE = &H200
WM_LBUTTONDOWN = &H201
WM_LBUTTONUP = &H202
WM_LBUTTONDBLCLK = &H203
WM_RBUTTONDOWN = &H204
WM_RBUTTONUP = &H205
WM_RBUTTONDBLCLK = &H206
WM_MBUTTONDOWN = &H207
WM_MBUTTONUP = &H208
WM_MBUTTONDBLCLK = &H209
WM_SETFOCUS = &H7
WM_KEYDOWN = &H100
WM_KEYFIRST = &H100
WM_KEYLAST = &H108
WM_KEYUP = &H101
End Enum
' Открыть библиотеку
Declare Function loadlibrary Lib "kernel32.dll" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
' Взять иконку из библиотеки
Declare Function LoadIconA Lib "user32" (ByVal hinstance As Long, ByVal IpIconName As String) As Long
' выгрузить библиотеку
Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
' возвратить hInstanse. lpModuleName - имя ЕХЕ-файла
Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Dim NID As NOTIFYICONDATA
Sub Addicon()
Dim IDLib As Long ' указатель на библиотеку после: IDLib = GetModuleHandle("Project1.exe")
Dim IDICON As Long ' указатель на иконку
Const IDMyIcon = 101
Dim AddREsult As Long
IDICON = frmMain.Picture1 ' Какая именно иконка
NID.cbSize = Len(NID)
NID.hwnd = frmMain.hwnd ' Название формы
NID.uID = IDMyIcon
NID.uFlags = nif_message + nif_icon + nif_tip
NID.uCallbackMessage = WM_LBUTTONDOWN
NID.hIcon = IDICON
NID.szTip = Left$("БудZильник ", 63) & Chr(0) ' MyIcon - текст всплыввающей подсказки
AddREsult = Shell_NotifyIcon(NIM_ADD, NID)
End Sub
Sub DeleteIcon()
Dim DeleteResult As Long
DeleteResult = Shell_NotifyIcon(NIM_DELETE, NID)
End Sub