zoukankan      html  css  js  c++  java
  • 通过截取系统消息判断鼠标的单机键

    实现效果:

       

    知识运用:

      通过在From中重写Control类的虚方法 WndProc 来获取信息

      protected virtual void WndProc(ref Message m)    Message结构的属性

      

         通过实现IMessageFilter接口来创建消息筛选器  从而截取Windows消息

    实现代码:

            private void Form1_Load(object sender, EventArgs e)     //窗体加载消息筛选器
            {
                Application.AddMessageFilter(mf);   //添加消息筛选器 向目标传递Windows消息时监视这些消息
            }
    
            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                Application.RemoveMessageFilter(mf);  //从应用程序的消息泵中移除一个消息筛选器
            }
                //方法一:重写WndProc虚方法  与二不可共存
            //protected override void WndProc(ref Message m)
            //{
            //    switch (m.Msg)
            //    {
            //        case 513:
            //            MessageBox.Show("单机了鼠标左键", "系统信息");
            //            m.Result = (IntPtr)0;         //为了响应消息处理而向Windows返回的值
            //            break;
            //        case 516:
            //            MessageBox.Show("单机了鼠标右键", "系统信息");
            //            m.Result = (IntPtr)0;
            //            break;
            //        default:
            //            base.WndProc(ref m);
            //            break;
            //    }
            //}
        }
        //方法二: 实现IMessageFilter接口  从而获取Windows消息
        public class MessageFilter : IMessageFilter
        {
            public bool PreFilterMessage(ref Message message)
            {
                switch (message.Msg)
                {
                    case 513:
                        MessageBox.Show("单机了鼠标左键", "系统信息");
                        return true;
                    case 516:
                        MessageBox.Show("单机了鼠标右键", "系统信息");
                        return true;
                    default:
                        return false;
                }
            }
        }
    

      

  • 相关阅读:
    上周热点回顾(12.1212.18)
    上周热点回顾(11.2111.27)
    上周热点回顾(11.1411.20)
    博客园电子期刊2011年11月刊发布啦
    “CDN加速”测试
    上周热点回顾(11.2812.4)
    上周热点回顾(12.1912.25)
    上周热点回顾(12.512.11)
    提醒:安装MS11100 .NET Framework高危漏洞补丁一定要所有服务器一起安装
    郑州公积金
  • 原文地址:https://www.cnblogs.com/feiyucha/p/10282718.html
Copyright © 2011-2022 走看看