zoukankan      html  css  js  c++  java
  • .NET 的钩子组件……(封装起来使得你不用写代码即可完成钩子的设置)(转)

    开发中我们很多时候会遇到使用钩子的情况。

    用户按下了个按键,我怎么捕捉的到?好,如果焦点在自己的Form里的话,简单,重写ProcessDialogKey方法即可。。如果焦点在其他应用程序呢,Windows不会给我的Form发送按键消息,想捕捉这个按键就可以用钩子了。。。

    同样,捕获鼠标也是如此。。不仅是键盘鼠标消息,挂上WH_GETMESSAGE钩子之后我们可以获得其他更多的消息。

    前两天看到一个VB写的类,把它给改成C#的了,以组件(Component)形式使用,直接拖到设计器里就好,然后,给这个组件添加事件(KeyUp、KeyDown、MouseUp……)。那么当用户有这些动作的时候就会触发这些事件了,用起来是不是很方便……

    设计预览:(像Timer组件一样简简单单的拖进来即可)

    代码:

    1/*
      2 * Copyright (c) 2008 黑色珊瑚::Tsorgy.Utils, Reserved.
      3 * 
      4 * Filename:    @(#)Hook.cs
      5 * Create by:   TsOrgY
      6 * Email:       tsorgy@gmail.com
      7 * Date:        2008/12/20 16:30:09
      8 * 
      9 * Classname:   Hook
     10 * Description: 钩子组件.
     11 *              
     12 */

     13
     14using System;
     15using System.Runtime.InteropServices;
     16using System.Reflection;
     17using System.ComponentModel;
     18
     19namespace Tsorgy.Utils {
     20
     21    /// <summary>
     22    /// 钩子工具类.
     23    /// </summary>

     24    [DefaultEvent("KeyUp")]
     25    [DefaultProperty("Tag")]
     26    public class Hook : Component {
     27        * 属性 *
     60
     61        * 事件 *
    113
    114        * 公共方法 *
    142
    143        - 枚举 -
    171
    172        - API 相关 -
    242
    243        - 回调函数 -
    283
    284        - 全局变量 -
    289
    290        - 构造方法 -
    305
    306        - 私有方法 -
    388
    389        | 重写方法 |
    399    }

    400}

    401

  • 相关阅读:
    Andrew Ng机器学习 五:Regularized Linear Regression and Bias v.s. Variance
    cadence时各种焊盘层的定义
    cadence 关于PCB封装的设计
    candence 关于焊盘的描述
    cadence 关于DRC设置
    cadence的关于封装层叠
    cadence 学习
    stm32的一些参数
    无刷电机的FOC理解
    wait()、notify、notifyAll()的使用
  • 原文地址:https://www.cnblogs.com/ziyan22/p/1360993.html
Copyright © 2011-2022 走看看