拦截华硕笔记本电脑上的媒体键

时间:2009-09-07 22:59:29

标签: keyboard keyboard-events

我有一台华硕笔记本电脑(F50SF),我正在玩C ++试图拦截多媒体键(下一首曲目,上一首曲目,播放/暂停等),但我无法弄明白如何做到这一点。我试过GetAsyncKeyState(VK_MEDIA_NEXT_TRACK),但无济于事。

我知道这是可能的(并且密钥首先在工作),因为这些密钥在Windows Media Player中运行良好。

有什么想法吗?

4 个答案:

答案 0 :(得分:11)

问题是Asus提供的ATK Media实用程序是完全锁定的,而不是发出键盘事件(如普通媒体键),它将它们映射到特定的应用程序。它寻找的应用程序的顺序和名称根据版本和系统而变化,但幸运的是有一个修复!

在阅读了很多网站后,我刚刚遇到了解决方案。

  1. 从此博客文章下载rar软件包:http://3mptylab.blogspot.it/2012/09/how-to-make-asus-notebooks-media-keys.html

  2. 停止当前的DMedia.exe进程。

  3. 转到ATK Media安装文件夹(通常为C:\ Program Files(x86)\ ASUS \ ATK Package \ ATK Media)并将DMedia.exe重命名为DMedia.exe.old(只是为了安全起见)。

  4. 将您在RAR中找到的DMedia.exe放入ATK Media目录。双击它以运行它,但无论如何它都会在启动时运行。

  5. 检查媒体键是否正常工作。如果有效,可以去喝啤酒或看电影!

  6. 我刚刚在Win8 Pro 64位下的华硕U30Jc中进行了测试,效果很好!此工具实际上将通用键盘事件映射到集成键盘中的媒体键,因此它们适用于为此启用的任何应用程序(在某些情况下,您可能需要启用全局键)。

答案 1 :(得分:2)

我在autohotkey找到了这个宝石 http://www.autohotkey.com/forum/viewtopic.php?p=302923 它帮助我在我的笔记本上映射网络,邮件,P1和P2按钮,否则需要一些英国媒体中心软件重新映射它们。它不是C ++,但它可以通过查找扫描码来帮助您找到正确的方向!

答案 2 :(得分:1)

某些笔记本电脑(如我的华硕M51Sn)不会为特殊(多媒体)键生成按键。我相信这些密钥会生成ACPI事件。我不知道如何抓住这些。 : - \

如果您想查看我已经测试过的内容,请查看my question at SuperUser

答案 3 :(得分:0)

Google Code中有一个项目禁用(截取)指定某些键的击键。

它是用C语言编写的,但是如果你仔细阅读代码,你可以学习一种方法。

KillKeys