zoukankan      html  css  js  c++  java
  • 截取系统消息

    方法一:

    //添加监视消息
    private void Form_Load(object sender, System.EventArgs e)
    {
      Application.AddMessageFilter(this);
    }

    //撤消消息监视
    private void Form_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
      Application.RemoveMessageFilter(this);
    }

    //截取消息,进行处理
    public bool PreFilterMessage(ref System.Windows.Forms.Message m)
    {
      switch(m.Msg )
      {
        case 513:        //拦截左键单击事件 
          MessageBox.Show("哈哈,你点击了左键被拦截!");
          return true;    //返回true则消息被裁取,系统不再处理
        case 516:        //拦截左键单击事件 
          MessageBox.Show("哈哈,你点击了右键被拦截!");
          return true;    //返回true则消息被裁取,系统不再处理
        default:
          return false;    //返回false则消息未被裁取,系统会处理
      }
    }

    方法二:

    //截取消息,进行处理
    protected override void WndProc(ref Message m)
    {
      switch(m.Msg)
      {
        case 17:
          MessageBox.Show("哈哈,你不能关闭计算机!");
          m.Result=(IntPtr)0;
          break;
        case 513:
          MessageBox.Show("哈哈,你不能点击左键!"); 
          m.Result=(IntPtr)0;
          break;
        case 516:
          MessageBox.Show("哈哈,你不能点击右键!"); 
          m.Result=(IntPtr)0;
          break;
        default:
          base.WndProc(ref m);
          break;
      }
    }

  • 相关阅读:
    vs2010 在函数级别设置优化
    从快速排序开始的代码演化
    pocket API学习笔记
    工作笔记:复制文件--从windows到ubuntu,再到fedora
    Win10 64位 Apache 2.4+MySQL 5.7+PHP 7环境搭建
    Json简介
    TCP/IP 协议详解和运作过程
    PHP 编程中 10 个最常见的错误,你犯过几个?
    php中的扩展解析
    php.ini设置详解
  • 原文地址:https://www.cnblogs.com/jhabb/p/1881473.html
Copyright © 2011-2022 走看看