Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MOVE = &HF010&
Private Const SC_RESTORE = &HF120&
Private Const SC_SIZE = &HF000&
Private Sub Form_Load()
If WindowState = vbMinimized Then
LastState = vbNormal
Else
LastState = WindowState
End If
'调用添加托盘图标子程序
AddToTray Me, mnuTray
'调用在托盘图标上显示提示的子程序
SetTrayTip "托盘程序"
End Sub
If WindowState <> vbMinimized Then
LastState = WindowState
End If
End Sub
'在窗体退出后,删除托盘中的图标
Private Sub Form_Unload(Cancel As Integer)
RemoveFromTray
End Sub
Private Sub mnuFileExit_Click()
Unload Me
End Sub
'单击快捷菜单中的Close菜单项
Private Sub mnuTrayClose_Click()
Unload Me
End Sub
'单击快捷菜单中的Maximize菜单项
Private Sub mnuTrayMaximize_Click()
WindowState = vbMaximized
End Sub
'单击快捷菜单中的Minimize菜单项
Private Sub mnuTrayMinimize_Click()
WindowState = vbMinimized
End Sub
'单击快捷菜单中的Move菜单项
Private Sub mnuTrayMove_Click()
SendMessage hwnd, WM_SYSCOMMAND, SC_MOVE, 0&
End Sub
'单击快捷菜单中的Restore菜单项
Private Sub mnuTrayRestore_Click()
SendMessage hwnd, WM_SYSCOMMAND, SC_RESTORE, 0&
End Sub
'单击快捷菜单中的Size菜单项
Private Sub mnuTraySize_Click()
SendMessage hwnd, WM_SYSCOMMAND, SC_SIZE, 0&
End Sub