Работа с треем
'+-------------------------------------+ '| Работа с Tray'ем | '| универсальный модуль | '| Большой сенкс добрым ФИДОшникам за | '| предоставление этого модуля | '+-------------------------------------+ 'всякие константы Public Const NIF_MESSAGE = &H1 Public Const NIF_ICON = &H2 Public Const NIF_TIP = &H4 Public Const NIM_ADD = &H0 Public Const NIM_MODIFY = &H1 Public Const NIM_DELETE = &H2 Public Const WM_RBUTTONDOWN = &H204 'структурка 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 Private NID As NOTIFYICONDATA Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias _ "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) _ As Long 'Добавление иконки в Tray Public Sub AddTrayIcon(IDhWnd As Long, Icon As Long, Text As String) NID.szTip = Left$(Text, 63) & Chr$(0) NID.uFlags = NIF_TIP + NIF_MESSAGE + NIF_ICON NID.uID = IDhWnd NID.cbSize = Len(NID) NID.hWnd = IDhWnd NID.uCallbackMessage = WM_RBUTTONDOWN NID.hIcon = Icon Res& = Shell_NotifyIcon(NIM_ADD, NID) End Sub 'Удаление иконки из Tray Public Sub DeleteTrayIcon() NID.cbSize = Len(NID) Res& = Shell_NotifyIcon(NIM_DELETE, NID) End Sub 'Изменение иконки и ToolTip в Tray Public Sub ItemModify(Icon As Long, Text As String) NID.uFlags = NIF_TIP + NIF_ICON NID.cbSize = Len(NID) NID.szTip = Left$(Text, 63) & Chr$(0) NID.hIcon = Icon Res& = Shell_NotifyIcon(NIM_MODIFY, NID) End Sub