使用 AHK 和 OBS 定时切换场景

Using AHK With OBS to Switch Scenes On Timer

我有一个用 AHK 发送 Ctrl + Shift + 功能键的简短脚本,因为这些是我为在 OBS 中切换场景而设置的热键,但我没有任何运气。一旦脚本为 运行,它似乎正在发送密钥,但由于某种原因 OBS 没有切换。如果我手动输入热键,它确实会切换 OBS,所以我不知道为什么 AHK 不是这样"triggering"。

这是我的脚本:

Loop{
 SendInput ^+{F11}
 Sleep 3000

 SendInput ^+{F12}
 Sleep 3000

 SendInput ^+{F11}
 Sleep 3000
}

试试这个:

Loop {
ControlSend,, {Ctrl down}{F11}{Ctrl up}, ahk_class OBSWindowClass
Sleep 3000
ControlSend,, {Ctrl down}{F12}{Ctrl up}, ahk_class OBSWindowClass
Sleep 3000
ControlSend,, {Ctrl down}{F11}{Ctrl up}, ahk_class OBSWindowClass
Sleep 3000
}

知道了。诀窍是根本不使用热键(谢天谢地,因为如果热键被另一个程序使用,它们有可能在不需要输入时引起输入),而是直接访问 OBS 应用程序的元素。

我的新完整脚本如下:

Loop {
Control, ChooseString, Scene 1 Name, ListBox1, ahk_class OBSWindowClass
Sleep 30000
Control, ChooseString, Scene 2 Name, ListBox1, ahk_class OBSWindowClass
Sleep 30000
}

来自此论坛页面的帮助 https://autohotkey.com/board/topic/88151-obs-hotkeys-not-being-triggered/

另外,与 AHK 一起安装的名为 "Active Window Info (Window Spy)" 的程序对所有这些都非常有帮助。