c#在智能设备开发中截获PPC(PocketPC)硬件按钮事件

本文介绍了如何在C#中截获PocketPC(PPC)硬件按钮事件。通过组合键常量和硬件按键常量,利用coredll.dll中的API函数RegisterHotKey、UnregisterHotKey和未公开的UnregisterFunc1来注册和处理热键。关键步骤包括重写应用程序主窗体的消息循环函数wndproc,以截获WM_HOTKEY消息。
摘要由CSDN通过智能技术生成
 
最近做了一个智能设备开发的项目,用c#,其中不免会遇到一些问题,我近期准备将这些问题总结一下,共大家参考,在以后的开发中少走弯路。
我们在这个项目中,需要在应用程序中截获PPC的硬件按钮事件,大家可能首先想到的KeyDown和KeyUp事件,但是大家可以试验一下,这只能截获到中间的导航键的消息,其他的按钮不能正常截获。接下来,我在internet上一顿google,找到一些答案,但是都是不全,所以特将这些资料汇总,拿出来共享。

如果想PPC截获硬件按钮事件,需要以下几步:

1.         组合键常量和硬件按键常量。它们配合上面的api使用。

2.         几个api函数,这些api函数可以注册热键到你的应用中,它们是:RegisterHotKeyUnregisterHotKeyUnregisterFunc1(据说这个是未公开的接口函数)它们都在”coredll.dll”中,它们的参数和用法在以下的例子中说明。

3.         有了以上的准备,最后一步就要重写应用主窗体的消息循环函数wndproc,截获WM_HOTKEY消息。

为了重用,我们都以类的方式提供,代码及说明如下:

 

//第一步常量类,声明virsual key 的组合键常量

public class KeyModifers

  {

    public const uint MOD_ALT = 0x1;

    public const uint MOD_CONTROL = 0x2;

    public const uint MOD_SHIFT = 0x4;

    public const uint MOD_WIN = 0x8;

  }

//声明硬件按键常量  只能是这几个值

public class KeysHardware

  {

    public const uint Hardware1 = 193;

    public const uint Hardware2 = 194;

    public const uint Hardware3 = 195;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值