如何通过发送到Soft Key Bar上的消息捕获一些硬按键
来源:互联网 发布:美工服装细节文案 编辑:程序博客网 时间:2024/04/28 04:18
这也是一个思路,通过SendMessage注册发送到soft key bar 的热键,捕获一些硬按键。下面以捕获VK_TTALK拨号键为例说明应用。
LRESULT CAboutDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
{
SHMENUBARINFO mbi;
ZeroMemory(&mbi, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.hwndParent = m_hWnd;
mbi.hInstRes = _Module.GetModuleInstance();
mbi.dwFlags = SHCMBF_HIDESIPBUTTON|SHCMBF_HMENU; //加上SHCMBF_HIDESIPBUTTON能够隐藏输入法图标。
mbi.nToolBarId=IDR_MENU_ABOUT;
SHCreateMenuBar(&mbi);
SendMessage(mbi.hwndMB, SHCMBM_OVERRIDEKEY, VK_TTALK, MAKELPARAM(SHMBOF_NODEFAULT | SHMBOF_NOTIFY,SHMBOF_NODEFAULT | SHMBOF_NOTIFY));
return bHandled = FALSE;
}
}
LRESULT CAboutDlg::OnHotKey(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
int idHotKey, uVirtualKey;
idHotKey = LOWORD(lParam);
uVirtualKey = HIWORD(lParam);
switch(uVirtualKey)
{
case VK_TTALK:
MessageBox(_T("VK_TTALK"), _T("test"), 0);
break;
case VK_TEND://此方法不支持使用VK_TEND;详见SHCMBM_OVERRIDEKEY的介绍.
break;
}
{
int idHotKey, uVirtualKey;
idHotKey = LOWORD(lParam);
uVirtualKey = HIWORD(lParam);
switch(uVirtualKey)
{
case VK_TTALK:
MessageBox(_T("VK_TTALK"), _T("test"), 0);
break;
case VK_TEND://此方法不支持使用VK_TEND;详见SHCMBM_OVERRIDEKEY的介绍.
break;
}
return bHandled = FALSE;;
}
}
通过这种方法能够捕获的消息是有限的,对于SP,能够捕获以下消息:
VK_TSOFT1, VK_TSOFT2, VK_TBACK, VK_TVOLUMEUP, VK_TVOLUMEDOWN, VK_TTALK and VK_TRECORD;
对于PPC,能够捕获:VK_TTALK
SHCMBM_OVERRIDEKEY的相关链接:http://msdn.microsoft.com/en-us/library/aa454997.aspx
- 如何通过发送到Soft Key Bar上的消息捕获一些硬按键
- BCGControlBar使用心得--如何捕获Workspace bar类上的树控件的消息
- 【转帖】BCGControlBar使用心得--如何捕获Workspace bar类上的树控件的消息
- 手把手教你Tiny4412 Android5.0 定制 按下开发板上的按键通过广播发送到应用层
- 捕获Esc按键消息
- 捕获按键消息
- wxPython 捕获按键消息
- 通过命令发送按键到Android系统
- 获取按键值应用数码进行显示同时通过串发送到PC上进行显示
- 如何使对话框捕获按键按下(WM_KEYDOWN)消息
- 模拟按键发送消息
- wince下钩子的使用-实时捕获按键消息
- 如何通过想窗口控件发消息模拟点击按键
- 如何捕获explorer重启的消息
- 关于symbian按键事件的一些总结(1)----------按键事件的捕获
- Android 模拟按键发送消息
- activemq的连接池,通过spring的JmsTemplate发送消息到指定的Destination
- activemq的连接池,通过spring的JmsTemplate发送消息到指定的Destination
- 禁止Windows Server 2003 关机时出现的关机理由选择项
- P2P-Kademlia详解2
- 存储的一些东西(HP_UX)
- Ubuntu内核编译
- socket
- 如何通过发送到Soft Key Bar上的消息捕获一些硬按键
- 防止因弹出提示框,而 改变布局字体大小.
- c++链表
- IE有错误,需要重置IE
- Ubuntu目录文件结构
- Use ZFS and CIFS to create a home NAS box
- JS执行后台代码
- 存储和相关基础知识
- Create and deploy SSIS package steps