Tengo una enorme pregunta estoy haciendo un pequeño sistema pero necesito que sea visible en la barra de tareas (sysTray creo se llama), hasta ahi todo bien
El problema es que quiero que aparezca un menu contextual al dar clic derecho sobre el icono de notificacion.... alguien podria asesorarme.
De antemano muchas gracias
este es mi codigo:
Código
Option Explicit 'Estructura NOTIFYICONDATA para usar con Shell_NotifyIcon Private Type NOTIFYICONDATA cbSize As Long hWnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 128 dwState As Long dwStateMask As Long szInfo As String * 256 uTimeout As Long szInfoTitle As String * 64 dwInfoFlags As Long End Type 'Variable para la estructura anterior Private sysTray As NOTIFYICONDATA 'Constantes Private Const NOTIFYICON_VERSION = 3 Private Const NOTIFYICON_OLDVERSION = 0 Private Const NIM_ADD = &H0 Private Const NIM_MODIFY = &H1 Private Const NIM_DELETE = &H2 Private Const NIM_SETFOCUS = &H3 Private Const NIM_SETVERSION = &H4 Private Const NIF_MESSAGE = &H1 Private Const NIF_ICON = &H2 Private Const NIF_TIP = &H4 Private Const NIF_STATE = &H8 Private Const NIF_INFO = &H10 Private Const NIS_HIDDEN = &H1 Private Const NIS_SHAREDICON = &H2 Private Const NIIF_NONE = &H0 Private Const NIIF_WARNING = &H2 Private Const NIIF_ERROR = &H3 Private Const NIIF_INFO = &H1 Private Const NIIF_GUID = &H4 Private Const WM_MOUSEMOVE = &H200 Private Const WM_LBUTTONDOWN = &H201 Private Const WM_LBUTTONUP = &H202 Private Const WM_LBUTTONDBLCLK = &H203 Private Const WM_RBUTTONDOWN = &H204 Private Const WM_RBUTTONUP = &H205 Private Const WM_RBUTTONDBLCLK = &H206 Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" _ (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean Private Sub Form_Activate() Dim msj_txt As String Dim msj_titulo As String msj_txt = "Bienvenido a KeepMe. La aplicación está ahora en ejecución" msj_titulo = "Sistema KeepMe" With sysTray .cbSize = Len(sysTray) .hWnd = Me.Picture1.hWnd .uID = vbNull .uFlags = NIF_ICON Or NIF_INFO Or NIF_MESSAGE Or NIF_TIP .uCallbackMessage = WM_MOUSEMOVE .hIcon = Me.Picture1.Picture .szTip = " Acá colocar el toolTip " & vbNullChar .dwState = 0 .dwStateMask = 0 End With 'Notifica en el systray Shell_NotifyIcon NIM_ADD, sysTray With sysTray .cbSize = Len(sysTray) .hWnd = Picture1.hWnd .uID = vbNull .uFlags = NIF_ICON Or NIF_INFO Or NIF_MESSAGE Or NIF_TIP .uCallbackMessage = WM_MOUSEMOVE .hIcon = Me.Picture1 .szTip = "KeepMe Activado" & vbNullChar .dwState = 0 .dwStateMask = 0 .szInfo = msj_txt & Chr(0) .szInfoTitle = msj_titulo & Chr(0) .dwInfoFlags = NIIF_INFO .uTimeout = 100 End With 'Modifica el ícono con la información Shell_NotifyIcon NIM_MODIFY, sysTray End Sub Private Sub Form_Unload(Cancel As Integer) Shell_NotifyIcon NIM_DELETE, sysTray End Sub