现在我同时打开了 Chrome(带有“Streamkeys”)和 Spotify - 当 Chrome 未运行时,Spotify 会响应媒体键(暂停、跳过曲目等)。但是,当 Chrome 处于打开状态并且 Streamkeys 正在运行时,Streamkeys 会捕获全部媒体键击键。有没有办法确定 Windows 将媒体键击键发送到哪个程序,并且理想情况下每次我想将媒体键与 Spotify 一起使用时都可以更改它,而无需禁用扩展程序或关闭 Chrome?
答案1
如果你愿意付出一些努力,你可以尝试自动热键,它允许您在 PC 上编写脚本并自动执行许多操作。
我将从以下类似已接受的答案开始此 Stack Overflow 帖子它解决了全局拦截按键并将其发送到特定窗口的类似问题。
在他们的示例中(如下所示),他们捕获 Ctrl+L 并将其发送到 Firefox。对于您的情况,请将代码片段的副本添加到您希望捕获的每个键或键组合的脚本中,并将 MozillaUIWindowClass 修改为您希望接收击键的任何应用程序。他们还有一个名为 Window Spy 的实用程序,用于获取有关目标窗口的任何所需信息,例如名称或句柄。
$^l::
IfWinExist ahk_class MozillaUIWindowClass
{
WinActivate
Send ^l
}
或者,富有的最终,你可能需要专门向窗口发送命令,而不是仅仅让其聚焦并全局发送命令。他的工作解决方案如下:
#IfWinExist ahk_class iTunes
Media_Play_Pause::ControlSend, , ^p, Windows Media Player
#IfWinExist ahk_class iTunes
Media_Next::ControlSend, , ^f, Windows Media Player
#IfWinExist ahk_class iTunes
Media_Prev::ControlSend, , ^b, Windows Media Player
有关 AutoHotkey 脚本的更多帮助,请尝试他们的文档页面。
答案2
答案3
答案4
免责声明!这不是我的回应,而是 Matt_H 的回应。我在 spotify 论坛上找到了它,并认为它可能会对你有所帮助。以下是原始讨论的链接:https://community.spotify.com/t5/Desktop-Windows/Keyboard-media-launch-button/td-p/1736288
我刚刚遇到了同样的问题,并通过修改注册表解决了它。编辑注册表时有一个标准免责声明 - 小心谨慎,一丝不苟,如果你破坏了它,你可以保留两个部分。
按键的行为定义如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\16
您可以在此处创建一个字符串键 + 值,其中包含“ShellExecute”和 Spotify 的路径。这是我在 Win7 上所做的。
但是,作为一种优化,Spotify 将“spotify://”注册为 Spotify 处理的方案,因此“Association”和“spotify”的字符串键 + 值可以起作用。
Windows 注册表编辑器版本 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\16] “关联”=“spotify”