16,549
社区成员
发帖
与我相关
我的任务
分享
Public Class Class1
Implements IMessageFilter
Private Const WM_MOVE As Long = &H3
'窗体失效
Private Const WM_ACTIVATE As Int32 = &H6
Private Const WA_INACTIVE As Int32 = 0
Private Const WM_ACTIVATEAPP As Int32 = &H1C
Private Const WM_NCACTIVATE As Int32 = &H86
Private Const WM_KILLFOCUS As Int32 = &H8
Private Const WM_SETFOCUS As Int32 = &H7
Private Const WM_LBUTTONDOWN As Integer = &H201
Private Const WM_KEYDOWN As Long = &H100
Private Const WM_KEYUP As Long = &H101
Public Function PreFilterMessage(ByRef m As System.Windows.Forms.Message) As Boolean Implements System.Windows.Forms.IMessageFilter.PreFilterMessage
Select Case m.Msg
Case WM_LBUTTONDOWN
Case WM_KEYDOWN
Case WM_ACTIVATE '激活
Console.WriteLine(m.ToString & "_________________________________")
Case WM_NCACTIVATE
Console.WriteLine(m.ToString & "_________________________________")
Case WM_KILLFOCUS
Console.WriteLine(m.ToString & "_________________________________")
Case WM_SETFOCUS
Console.WriteLine(m.ToString & "_________________________________")
End Select
Return False
End Function
End Class
Public Class Form1
Dim c As New Class1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Application.AddMessageFilter(c)
End Sub
End Class