首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >修改Windows Mobile默认按键消息

修改Windows Mobile默认按键消息

作者头像
ShiJiong
发布2018-01-11 11:09:38
1.1K0
发布2018-01-11 11:09:38
举报

本文讲述了如何利用SHCMBM_OVERRIDEKEY来修改Windows Mobile默认按键消息的方法。

问题来源:

如何屏蔽talk键 (打电话的那个键)

问题描述:

在《利用HardwareButton操作Windows Mobile的硬件按钮》一文中,讲述了在.NET CF中,如何利用HardwareButton类重写 Pocket PC 硬件按钮的功能。但是在某些情况下,用户希望对应的硬件按钮只为其应用程序服务,而不实施该硬件按钮的默认功能(如Talk按键)。

解决方法:

向窗口发送SHCMBM_OVERRIDEKEY消息,在WM_HOTKEY中进行处理。

具体实施例:

参考SDK自带的Sample,位于“Windows Mobile 6 SDK\Samples\Common\CPP\Win32\FullScreen”目录。该例子演示了如何在Windows Mobile上隐藏taskbar和softkey,进行全屏显示。其中,退出全屏的功能,采用softkey按钮来实现。而具体的方式,就是向窗口发送SHCMBM_OVERRIDEKEY消息,在WM_HOTKEY中,加入用户自己的应用。以该工程为例,我们进行修改,加入“按Talk按键退出全屏”这个功能,而不弹出拨号界面。

1. 在SetSoftkeyBarForFullScreen函数中,加入消息发送函数:

// Override/Undo softkeys for key press notifications, so we can

// display taskbar & softkeys on SK1/SK2 press in full screen.

    DWORD dwBits;

    dwBits = bFullScreen

                ? SHMBOF_NODEFAULT | SHMBOF_NOTIFY

                : 0;

    SendMessage(hwndSoftKeyBar,

                SHCMBM_OVERRIDEKEY,

                VK_TSOFT1,

                MAKELPARAM(SHMBOF_NODEFAULT | SHMBOF_NOTIFY, dwBits));

    SendMessage(hwndSoftKeyBar,

                SHCMBM_OVERRIDEKEY,

                VK_TSOFT2,

                MAKELPARAM(SHMBOF_NODEFAULT | SHMBOF_NOTIFY, dwBits));

//加入的消息发送函数

     SendMessage(hwndSoftKeyBar,

                SHCMBM_OVERRIDEKEY,

                VK_TTALK,

                MAKELPARAM(SHMBOF_NODEFAULT | SHMBOF_NOTIFY, dwBits));

2. 在CALLBACK DialogProc(…)函数的WM_HOTKEY中,加入VK_TTALK键的处理:

case VK_TTALK:

        {

// if we are in full screen mode we want to exit

// when the user presses a softkey.

if (g_bFullScreen)

             {   

                  SendMessage(GetDlgItem(hWnd,IDC_EDIT), WM_SETTEXT, 0, (LPARAM)L"[TALKkey] Exiting Full Screen");

                  FullScreen(hWnd, FALSE);

              }

          }

break;

运行结果截屏

参考链接:

WM_HOTKEY:http://msdn.microsoft.com/en-us/library/aa453868.aspx

SHCMBM_OVERRIDEKEY:http://msdn.microsoft.com/en-us/library/aa454997.aspx

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

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

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

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

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