Add an Invisible Picturebox to your Form, then Paste this Code:
If you want it even simpler I believe there's an OCX available on this site somewhere, which bascially does all this in the background.Code:Private 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 Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long Private Const NIF_ICON = &H2 Private Const NIF_MESSAGE = &H1 Private Const NIF_TIP = &H4 Private Const NIM_ADD = &H0 Private Const NIM_DELETE = &H2 Private Const NIM_MODIFY = &H1 Private Const WM_MOUSEMOVE = &H200 Private Const WM_LBUTTONDBLCLK = &H203 Private Const WM_LBUTTONDOWN = &H201 Private Const WM_RBUTTONDOWN = &H204 Private tTrayIcon As NOTIFYICONDATA Private Sub Form_Load() 'Create a Tray Icon Picture1.Visible = False With tTrayIcon .hIcon = Icon .hwnd = Picture1.hwnd .szTip = "My Tray Icon" & Chr(0) .uCallbackMessage = WM_MOUSEMOVE .uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP .uID = 1 .cbSize = Len(tTrayIcon) End With Shell_NotifyIcon NIM_ADD, tTrayIcon End Sub Private Sub Form_Resize() DoEvents If WindowState = vbMinimized Then Hide End If End Sub Private Sub Form_Unload(Cancel As Integer) 'Remove the Tray Icon Shell_NotifyIcon NIM_DELETE, tTrayIcon End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Select Case ScaleX(X, vbTwips, vbPixels) Case WM_RBUTTONDOWN 'Show Popup Menu Case WM_LBUTTONDBLCLK 'Show the Form WindowState = vbNormal Show End Select End Sub
Only downside is you have to ship the OCX with your Project.
------------------
Aaron Young
Analyst Programmer
[email protected]
[email protected]




Reply With Quote