Autohotkey 将功能键笔划从自动热键发送到OBS Studio

Autohotkey 将功能键笔划从自动热键发送到OBS Studio,autohotkey,obs,obs-studio,Autohotkey,Obs,Obs Studio,我正在尝试使用自动热键向OBS Studio发送击键 我使用的代码是 DetectHiddenWindows, On hWnd := WinExist("ahk_exe obs64.exe") ControlSend,, {F5}, ahk_id %hWnd% 我想触发的功能是“开始录制” 什么也没有送来。有传言说最新的OBS不允许ControlSend。这是真的吗?如何避免这种情况?使用(或在两个事件之间有延迟的单独的向上和向下事件)使按键保持更长时间 ;hold do

我正在尝试使用自动热键向OBS Studio发送击键

我使用的代码是

DetectHiddenWindows, On
hWnd := WinExist("ahk_exe obs64.exe")
ControlSend,, {F5}, ahk_id %hWnd%
我想触发的功能是“开始录制”

什么也没有送来。有传言说最新的OBS不允许ControlSend。这是真的吗?如何避免这种情况?

使用(或在两个事件之间有延迟的单独的向上和向下事件)使按键保持更长时间

;hold down for 50ms
SetKeyDelay, -1, 50
ControlSend, , {F5}, ahk_exe obs64.exe
此外,假设您不需要hwnd用于其他用途,则无需获取它。

而且在没有检测到隐藏窗口的情况下,它也应该可以正常工作。

谢谢您的建议,但这不起作用(OBS不会做出反应)。我正在使用OBS 24.0.3和自动热键1.1.33.01.Hmm,它对我来说工作得非常好。不过我正在使用最新的OBS版本。但我怀疑这会有什么不同。你确定你的脚本中没有其他可能会干扰测试的东西?试着运行一个新的脚本,除了上面我发布的那两行代码,其他什么都没有。是的,它成功了!必须查看脚本的其他部分是如何把它搞砸的。
在这两行使它们无法工作之前,在
上检测到hWnd。此外,WinExist不需要这一行,它无论如何都会找到hWnd,即使窗口最小化到任务栏。(我在代码之前使用WinExist来确保OBS正在运行)。