如何控制Windows Mobile 手机键盘操作
最近在做Mobile上的应用的时候,想截取Windows Mobile的按下OK键的消息,并做一些自定义处理。
在网上看了很多文章,但是发现很少有谈到这个问题的。后来还是找到了点资料。所以拿出来和大家分享一下。
首先要在OnInitDialog注册热键,这样才能在WM_HOTKEY消息中得到响应。
typedef BOOL(__stdcall *UnregisterFunc1Proc)(UINT,UINT);
HINSTANCE hCoreDll;
UnregisterFunc1Proc procUndergisterFunc;
hCoreDll = LoadLibrary(_T( "coredll.dll "));
ASSERT(hCoreDll);
procUndergisterFunc = (UnregisterFunc1Proc)GetProcAddress(hCoreDll,_T( "UnregisterFunc1 "));
BOOL bRes = RegisterHotKey(m_hWnd, VK_TACTION,NULL,VK_TACTION);
在Windows Mobile Smartphone平台下,VK_TSOFT1,VK_TSOFT2等都被系统注册为热键,如果在自己的应用在需要响应这些按键事件,需要先从系统中注销,然后注册后对WM_HOTKEY事件进行响应即可。但是注销系统热键的API函数并没有公开,需要使用一个coredll.dll中一个未公开API 函数.
注册消息映射:
ON_MESSAGE(WM_HOTKEY,&CMyllecSMS2Dlg::OnHotKey)
HRESULT CMyllecSMS2Dlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{
int idHotKey = (int)wParam;
UINT fuModifiers = (UINT)LOWORD(lParam);
UINT uVirtKey = (UINT)HIWORD(lParam);
static BOOL bPressed = FALSE;
if (idHotKey == VK_TACTION)
{
HTREEITEM selectedItem = m_mainTree.GetSelectedItem();
SelectedTreeNodeDoubleClick(selectedItem);
}
else
{
}
return TRUE;
}
另外在解决该问题时看到一些朋友发帖问如何在自己的应用中响应一些系统热键如VK_LEFT,VK_RIGHT等的KEY_DOWN事件,增加自己的处理过程,该问题有两种解法
1。向上面那样注册成热键,然后根据按键状态模拟出按键按下事件
2。利用GPAI的GXOpenInput,将所有的按键事件纳入掌控中
大家可通过下面的视图查看,键对应的Key值
// the phone keypad maps to VK_* as shown below.
// some keys might not be present, e.g. VK_TFLIP
sofkey1 softkey2 VK_TSOFT1, VK_TSOFT2
^ VK_TUP
< + > VK_TLEFT, VK_TACTION, VK_TRIGHT
v VK_TDOWN
home back VK_THOME, VK_TBACK
talk end VK_TTALK, VK_TEND
1 2 3 VK_T0..VK_T9
4 5 6 ...
7 8 9 ...
* 0 # VK_TSTAR, VK_TPOUND
// other buttons include
VK_TRECORD
VK_TPOWER, VK_TVOLUMEUP, VK_TVOLUMEDOWN
VK_TFLIP
分享到:
相关推荐
【标题】:“Windows Mobile手机通过蓝牙控制PC安装包 需要源码发邮件给我” 在移动设备技术发展早期,Windows Mobile操作系统曾广泛应用于智能手机,它提供了与个人电脑(PC)交互的可能性。本主题主要涉及如何...
例如,用户可以坐在电脑前,用键盘和鼠标控制远端的Windows Mobile设备,大大提高了操作的舒适度。 另外,"My Mobile"也考虑到了安全因素,提供了数据加密选项,确保在传输过程中敏感信息的安全。对于企业用户,这...
对于那些需要远程控制Windows Mobile设备的用户,Pocket Controller Pro是一款不可或缺的工具。这款软件以其高效、便捷的特性,深受用户喜爱。本文将深入探讨Pocket Controller Pro的功能、工作原理以及相关源码分析...
### Windows Mobile手机全屏解决方案:C#实现 在Windows Mobile平台中,实现应用程序的全屏显示对于提升用户体验、最大化屏幕利用率具有重要意义。本文将详细解析一个C#代码示例,该示例展示了如何通过调用Windows ...
Windows Mobile是微软为掌上设备如智能手机和平板电脑设计的操作系统,它提供了丰富的API和工具来支持应用程序开发,包括游戏。在第二部分,我们专注于游戏设计的准备知识,这将为我们后续的编程工作奠定基础。 ...
Windows Mobile UI 设计主要关注的是在智能手机和Pocket PC平台上使用.NET框架进行用户界面的构建。Windows Mobile操作系统是基于Windows CE内核的,它为内存有限和资源受限的移动设备提供了定制化的开发环境。与...
在IT领域,Windows Mobile曾是微软为掌上设备如智能手机和平板电脑开发的操作系统。针对这个平台,开发者经常需要创建各种应用程序以满足不同需求。在这个特定的案例中,"一个Windows Mobile的远程控制的程序代码" ...
2. **Windows Mobile**:作为WinCE的一个分支,Windows Mobile是专为移动设备打造的操作系统,如智能手机和平板电脑。它继承了WinCE的核心技术,但在此基础上进行了优化和增强,以适应移动设备的特性。Windows ...
Microsoft ActiveSync 4.5是一个早期版本的同步软件,专门设计用于连接Windows Mobile设备(如早期的智能手机)到运行Windows操作系统的个人电脑。该软件提供了数据同步、设备管理以及远程控制等功能,让用户能够在...
MyMobiler是一款专为Windows Mobile设备设计的连接工具,它允许用户通过PC远程控制和监视Windows Mobile智能手机。这款软件在IT行业中主要用于测试、调试、演示或监控移动设备,尤其是在开发和维护应用程序时,能...
【mymobile手机远程控制软件】是一款专为用户设计的高效工具,允许用户通过个人计算机(PC)对运行Windows操作系统的智能手机进行远程控制。这款软件极大地提升了用户在处理手机任务时的便捷性和效率,尤其适合那些...
想要深入学习GAPI,可以通过阅读《GAPI开发Windows Mobile手机游戏.doc》文档,其中详细介绍了GAPI的使用方法和示例代码。此外,访问http://www.59186618.com可获取更多相关资源,包括开发实例、代码库和技术论坛,...
### Windows Mobile手机高级优化知识点详解 #### 一、概述 Windows Mobile(以下简称WM)作为一款经典的移动操作系统,曾经广泛应用于智能手机和平板电脑等移动设备上。随着设备性能的不断提升及用户需求的多样化,...
Windows CE和Windows Mobile是微软开发的两种嵌入式操作系统,主要应用于掌上设备,如智能手机、个人数字助手(PDA)等。它们为移动设备提供了类似桌面Windows的环境,但针对资源有限的硬件进行了优化。在这些系统中...
Windows Mobile是一款由微软公司开发的操作系统,主要用于移动设备,如智能手机和个人数字助手(PDA)。它基于Windows CE内核,为开发者提供了丰富的API和工具来创建功能丰富的应用程序。在Windows Mobile应用程序...
首先,Windows Mobile是微软公司推出的一款面向移动设备的操作系统,它支持多种硬件平台,如智能手机和平板电脑。在这个平台上开发应用程序,开发者通常需要熟悉.NET Compact Framework,这是一个针对移动设备的.NET...
在移动计算领域,Windows Mobile 5.0曾是广泛使用的操作系统之一,尤其在早期的智能手机和平板电脑上。开发者利用各种编程语言,包括C#,为这个平台创建了许多应用程序。本项目是一个基于C#开发的计算器应用,专为...
1. 操作系统的定义:操作系统是管理和控制计算机 hardware 资源,提供公共服务,实现多任务、多用户、多进程的操作环境的系统软件。 2. 手机操作系统的分类:根据不同的架构和厂商,手机操作系统可以分为以下几类:...
Windows Mobile 是微软针对移动设备开发的操作系统,主要应用于智能手机和平板电脑,为用户提供类似于桌面版Windows的体验。本教程专为初学者设计,旨在帮助新手快速掌握Windows Mobile的基本操作和应用。 ### 1. *...