老问题,关于系统托盘的,连vb都推出去了,以前我添加没有问题的呀!
再系统托盘区域添加图标,添加删除都很正常,可是到了系统退出的时候,出现问题了
我用中止运行可以,不会出问题,但是,到了系统退出的时候,不仅系统退出,而且vb也退出了,奇怪
我的代码如下:
'放在模块里面
Function WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Dim l As Long
Dim l1 As Long
If wParam = uID Then
Select Case lParam
Case WM_LBUTTONDOWN
If MainForm.WindowState = 1 Or MainForm.Visible = False Then
MainForm.WindowState = 0
MainForm.Visible = True
MainForm.WindowState = 2
MainForm.SetFocus
End If
Case WM_RBUTTONDOWN
MainForm.PopupMenu MainForm.mnu_Data
Case WM_MBUTTONDOWN
If MainForm.WindowState = 1 Or MainForm.Visible = False Then
MainForm.WindowState = 0
MainForm.Visible = True
MainForm.WindowState = 2
MainForm.SetFocus
End If
End Select
End If
WindowProc = CallWindowProc(lpPrevWndProc, hw, uMsg, wParam, lParam)
End Function
Public Sub Hook()
lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, AddressOf WindowProc)
End Sub
Public Sub unHook()
Dim temp As Long
temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc)
End Sub
'窗体里面
Private Sub Form_Load()
…………………………
gHW = MainForm.hwnd
myNID.hIcon = MainForm.Icon
myNID.hwnd = gHW
myNID.szTip = VBA.Trim(App.Title) + VBA.Chr$(0)
myNID.uCallbackMessage = cbNotify
myNID.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
myNID.uID = uID
myNID.cbSize = Len(myNID)
Shell_NotifyIcon NIM_ADD, myNID
Hook
…………………………
end sub
If MsgBox("您确认退出" & App.Title & "吗?", vbYesNo + 32) = vbYes Then
Cancel = False
Shell_NotifyIcon NIM_DELETE, myNID
unHook
…………………………
…………………………
end sub