io per gestire una icona sulla sysTray uso questo codice in un modulo
codice:
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" _
Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, _
lpData As NOTIFYICONDATA) As Long
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 Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIM_MODIFY = &H1
Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4
Public Const WM_MOUSEMOVE = &H200
Public Const WM_RBUTTONUP = &H205
Public Const WM_RBUTTONDOWN = &H204
Global TrayIcon As NOTIFYICONDATA
equesto nel form associato alla Notify Icon
codice:
Private Sub Form_Initialize()
TrayIcon.cbSize = Len(TrayIcon)
TrayIcon.hwnd = Me.hwnd
TrayIcon.uID = vbNull
TrayIcon.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
TrayIcon.uCallbackMessage = WM_MOUSEMOVE
TrayIcon.hIcon = Me.Icon
TrayIcon.szTip = App.EXEName & vbNullChar
Call Shell_NotifyIcon(NIM_ADD, TrayIcon)
Call Shell_NotifyIcon(NIM_MODIFY, TrayIcon)
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case X
Case 7755: 'Right Click
PopupMenu mnuSysTray
Case 7725: 'Dbl Left Click
End Select
End Sub
ora la procedura mi funziona sempre perfettamante tranne che su un progetto che sto facendo ora proprio non riesco a capire come ai non funzioni
in pratica mi mette la icona tooltip ecc dove deve andare ma non entra mai nella routine mousemove quando passo sopra l'icona
qualche idea???