|  | 1、新建立一个VB6工程,将Form1的ShowInTaskBar属性设置为False2、菜单:工程--添加模块   按“打开”这样就添加了一个新模块,名为Module1,保存为Module1.bas
 3、在Module1中写下如下代码:
 
 Option Explicit
 
 Public Const MAX_TOOLTIP As Integer = 64
 Public Const NIF_ICON = ;H2
 Public Const NIF_MESSAGE = ;H1
 Public Const NIF_TIP = ;H4
 Public Const NIM_ADD = ;H0
 Public Const NIM_DELETE = ;H2
 Public Const WM_MOUSEMOVE = ;H200
 Public Const WM_LBUTTONDOWN = ;H201
 Public Const WM_LBUTTONUP = ;H202
 Public Const WM_LBUTTONDBLCLK = ;H203
 Public Const WM_RBUTTONDOWN = ;H204
 Public Const WM_RBUTTONUP = ;H205
 Public Const WM_RBUTTONDBLCLK = ;H206
 
 Public Const SW_RESTORE = 9
 Public Const SW_HIDE = 0
 
 Public nfIconData As NOTIFYICONDATA
 
 
 Public Type NOTIFYICONDATA
 cbSize           As Long
 hWnd             As Long
 uID              As Long
 uFlags           As Long
 uCallbackMessage As Long
 hIcon            As Long
 szTip            As String * MAX_TOOLTIP
 End Type
 
 Public Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
 Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
 4、在Form1的Load事件中写下如下代码:
 
 Private Sub Form_Load()
 
 '以下把程序放入System Tray====================================System Tray Begin
 With nfIconData
 .hWnd = Me.hWnd
 .uID = Me.Icon
 .uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
 .uCallbackMessage = WM_MOUSEMOVE
 .hIcon = Me.Icon.Handle
 '定义鼠标移动到托盘上时显示的Tip
 .szTip = App.Title + "(版本 " ; App.Major ; "." ; App.Minor ; "." ; App.Revision ; ")" ; vbNullChar
 .cbSize = Len(nfIconData)
 End With
 Call Shell_NotifyIcon(NIM_ADD, nfIconData)
 '=============================================================System Tray End
 Me.Hide
 End Sub
 5、在Form1的QueryUnload事件中写入如下代码:
 
 Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
 Call Shell_NotifyIcon(NIM_DELETE, nfIconData)
 End Sub
 6、在Form1的MouseMove事件中写下如下代码:
 Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
 Dim lMsg As Single
 lMsg = X / Screen.TwipsPerPixelX
 Select Case lMsg
 Case WM_LBUTTONUP
 'MsgBox "请用鼠标右键点击图标!", vbInformation, "实时播音专家"
 '单击左键,显示窗体
 ShowWindow Me.hWnd, SW_RESTORE
 '下面两句的目的是把窗口显示在窗口最顶层
 'Me.Show
 'Me.SetFocus
 '' Case WM_RBUTTONUP
 ''        PopupMenu MenuTray '如果是在系统Tray图标上点右键,则弹出菜单MenuTray
 '' Case WM_MOUSEMOVE
 '' Case WM_LBUTTONDOWN
 ''  Case WM_LBUTTONDBLCLK
 '' Case WM_RBUTTONDOWN
 ''  Case WM_RBUTTONDBLCLK
 ''  Case Else
 End Select
 End Sub
 7、现在将程序保存起来运行看看系统托盘处是否增加了一个本工程的图标。单击此图标,Form1就自动弹出来了。
 
 |  |