我有一台华硕笔记本电脑(F50SF),我正在玩C ++试图拦截多媒体键(下一首曲目,上一首曲目,播放/暂停等),但我无法弄明白如何做到这一点。我试过GetAsyncKeyState(VK_MEDIA_NEXT_TRACK)
,但无济于事。
我知道这是可能的(并且密钥首先在工作),因为这些密钥在Windows Media Player中运行良好。
有什么想法吗?
答案 0 :(得分:11)
问题是Asus提供的ATK Media实用程序是完全锁定的,而不是发出键盘事件(如普通媒体键),它将它们映射到特定的应用程序。它寻找的应用程序的顺序和名称根据版本和系统而变化,但幸运的是有一个修复!
在阅读了很多网站后,我刚刚遇到了解决方案。
从此博客文章下载rar软件包:http://3mptylab.blogspot.it/2012/09/how-to-make-asus-notebooks-media-keys.html
停止当前的DMedia.exe进程。
转到ATK Media安装文件夹(通常为C:\ Program Files(x86)\ ASUS \ ATK Package \ ATK Media)并将DMedia.exe重命名为DMedia.exe.old(只是为了安全起见)。
将您在RAR中找到的DMedia.exe放入ATK Media目录。双击它以运行它,但无论如何它都会在启动时运行。
检查媒体键是否正常工作。如果有效,可以去喝啤酒或看电影!
我刚刚在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)