C#检测鼠标移动消息
当C#窗口上有其它控件时,窗口本身检测不到消息。
1、使用WndProc、MouseMove不行,比如
1 protected override void WndProc(ref Message m) 2 { 3 switch (m.Msg) 4 { 5 case WM_MOUSEMOVE: 6 Debug.Write(string.Format("CurrentDate:{0}", DateTime.Now) + Environment.NewLine); 7 break; 8 } 9 base.WndProc(ref m); 10 }
2、使用PreFilterMessage
1 public partial class Form1 : Form, IMessageFilter 2 { 3 //构造函数里增加 4 public Form1() 5 { 6 InitializeComponent(); 7 Application.AddMessageFilter(this); 8 9 } 10 public bool PreFilterMessage(ref Message msg) 11 { 12 const int WM_MOUSEMOVE = 0x200; 13 if (msg.Msg == WM_MOUSEMOVE) 14 { 15 TestPopUp(); 16 } 17 return false; 18 } 19 }
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。