本来是好好的,但我想要点窗口的X按钮时不关闭而是到托盘,可是加了下面的代码后,图标就会老消失了,我把大概的代码都贴出来,请各位看看什么原因:Option Explicit
Public LastState As Integer
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_RESTORE = &HF120&Private Sub Form_Load()
    If WindowState = vbMinimized Then
        LastState = vbNormal
    Else
        LastState = WindowState
    End If    AddToTray Me, mnuTray
    
    SetTrayTip "fz-L'tray "
End Sub'//下面的这段Form_QueryUnload就是我加的代码了
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = 0 Then
        'MsgBox "关闭"
        Cancel = True
        
        Me.Hide
        
        If WindowState = vbMinimized Then
        LastState = vbNormal
        Else
            LastState = WindowState
        End If    AddToTray Me, mnuTray
    End If
    
    
End Sub
'Enable the correct tray menu items.
Private Sub Form_Resize()
 Select Case WindowState
        Case vbMinimized
            
            mnuTrayMinimize.Enabled = False
            
            mnuTrayRestore.Enabled = True
            
        
        Case vbNormal
            
            mnuTrayMinimize.Enabled = True
            
            mnuTrayRestore.Enabled = True
            
    End Select    If WindowState <> vbMinimized Then _
        LastState = WindowState
End Sub
' Important! Remove the tray icon.
Private Sub Form_Unload(Cancel As Integer)
    RemoveFromTray
End Sub
Private Sub mnuFileExit_Click()
    Unload Me
End SubPrivate Sub mnuTrayClose_Click()
    Unload Me
End SubPrivate Sub mnuTrayMinimize_Click()
    WindowState = vbMinimized
End SubPrivate Sub mnuTrayRestore_Click()
    SendMessage hwnd, WM_SYSCOMMAND, _
        SC_RESTORE, 0&
End Sub