如何进行组合键Win+.发送指令至media_next
?
我尝试过用几种不同的方式书写,但总是会出现脚本错误。
我的目标是按下按键Win然后.让音乐播放器跳到下一首曲目。
请告诉我确切的句子,因为我对脚本编写完全陌生,例如,缺少一个字符对我来说将是一个巨大的障碍......
不太重要:我应该在autohotkey.ahk
还是 中写这些说明shortcuts.ahk
?
非常感谢!
答案1
这应该可以工作(我用 VLC 和 XMPlay 测试过):
#.::Media_Next
它只会将媒体下一个键发送到活动窗口,因此如果您想在观看全屏电影或其他内容时使用热键,它就可以解决问题。如果您在屏幕角落观看视频的同时处理其他事情,则需要全局发送该键:
#.::Send {Media_Next}
当然,您的媒体播放器必须能够检测并响应实际的媒体键。有些媒体播放器默认这样做,有些媒体播放器您可以在其键映射配置中设置这样做,有些媒体播放器在具有适当的文件类型关联时会自动这样做。
正如 Sonamor 指出的那样,如果您正在运行多个媒体播放器并且它们都对媒体键作出响应,您可以将热键定位到特定的窗口(尽管根据我的经验,第一个运行的播放器往往会注册该键,从而阻止其他播放器接收它;所以你可以关闭它们并运行你想要的那个)。
为了回应更详细的问题…
我不断尝试,但总是出错。这是我上次尝试的:
LWin + ,::{Media_Next}
我也尝试过:
Win + .::Media_Next
这些话有几个错误:
- 表示
+
键⇧ Shift,因此热键仅在⇧ Shift按住时才有效 - 是
;
键,因此只有按住键;时才有效; - 您不能使用
{Media_Next}
作为操作,但是可以使用:Send {Media_Next}
通常发送媒体下一个键或Media_Next
将媒体下一个键仅发送到活动窗口
Win
无效,您需要使用#
作为修饰符LWin
⊞ Win仅对使用热键有效。作为修饰符,您必须使用<#
。
因此,就您而言,您可能需要这个:
<#.::Send {Media_Next}
*我的键盘上只有一个“win”键。
那么为什么要将其特定于左侧 Windows 键呢?如果只有一个,那么指定哪个都没有区别。事实上,如果出于某种原因,制造商决定使用其他键的扫描码,那么使用通用版本会更安全。您也可以使用这个:
#.::Send {Media_Next}
答案2
您可以将以下行添加到您的 autohotkey.ahk 文件中,保存,然后右键单击托盘中的 AutoHotKey 图标选择“重新加载此脚本”:
#.::Send {Media_Next}
答案3
您还可以使用 AutoIt3 Window Spy 并使热键仅适用于 VLC Media Player
#IfWinActive, VLCWINDOW
#.::Media_Next