前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用HardwareButton操作Windows Mobile的硬件按钮

利用HardwareButton操作Windows Mobile的硬件按钮

作者头像
ShiJiong
发布2018-01-10 17:51:43
7480
发布2018-01-10 17:51:43
举报
文章被收录于专栏:施炯的IoT开发专栏

    大家知道,在Windows Mobile的应用程序中,我们可以利用模拟按键VK来模拟一些硬件按键的功能,如调用今日屏幕、锁定键盘、关闭设备、打开扬声器等等(具体可以参考黄季东的帖子:再谈Windows Mobile上的模拟按键操作)。在有些情况下,我们需要知道用户按下的是哪个硬件按钮,并且重写该硬件按钮的功能(如游戏程序)。而硬件按钮对应的是某个具体的值,我们可以使用该值来判断。在.NET CF中,HardwareButton类允许重写 Pocket PC 硬件按钮的功能。

    首先,我们需要在应用程序中添加对“Microsoft.WindowsCE.Forms”该命名中间的引用。

    然后,创建 HardwareButton 的实例。

hwb1 = new HardwareButton(); hwb2 = new HardwareButton(); ……

    接着,将 AssociatedControl 属性设置为要激活的窗体或控件。

hwb1.AssociatedControl = this; hwb2.AssociatedControl = this; ……

    最后,将 HardwareKey 属性设置为 HardwareKeys 枚举值之一。最多可配置六个硬件按钮。

hwb1.HardwareKey = HardwareKeys.ApplicationKey1; hwb2.HardwareKey = HardwareKeys.ApplicationKey2; ……

    同时,在窗体的OnKeyUp事件函数中,添加对相应按钮的处理,

private void OnKeyUp(object sender, KeyEventArgs e) {     switch ((HardwareKeys)e.KeyCode)     {         case HardwareKeys.ApplicationKey1:             statusBar1.Text = "Button 1 pressed.";             ……             break;         case HardwareKeys.ApplicationKey2:             statusBar1.Text = "Button 2 pressed.";             ……             break;         default:             break;     } }

    需要注意的是:

    1. 某些 Pocket PC 的硬件按钮数目不是六个。并且操作系统不支持所有的按钮。Windows Mobile 2003 for Pocket PC 支持四个按钮,而用于 Pocket PC 的 Windows Mobile 5.0 版软件支持五个按钮。

2. Smartphone 和其他非 Pocket PC 类的 Windows CE 设备上不支持此类。

测试结果

在WM6.0 Professional Emulator中测试,得到的具体值如下:

    --

image
image

“左右上下按键”为37, 38, 39, 40 

    --

image
image

“Enter键”为13

    --

image
image

“左侧上下键”为38,40

    --

image
image

“右侧按键”为121

    --

image
image

“拨号按键”为114

    --

image
image

“结束按键”为115

在Cingular8125(WM6.0 Professional)中测试,得到的具体值如下:

    --

image
image

“左右上下按键”为37, 38, 39, 40 

    --

image
image

“Enter键”为13

    --

image
image

“无线管理键”为198

    --

image
image

“信息管理键”为193

    --

image
image

“Internet键”为194

    --

image
image

“拨号按键”为114

    --

image
image

“结束按键”为115

    --

image
image

“语音按键”为196

    --

image
image

“相机按键”为195

    以上是我的测试结果,希望对大家有用。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2009-10-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档