【问题标题】:Send function key stroke from AutoHotkey to OBS Studio将功能键击从 AutoHotkey 发送到 OBS Studio
【发布时间】:2020-07-13 19:33:43
【问题描述】:

我正在尝试使用 AutoHotkey 向 OBS Studio 发送击键。

我使用的代码是

DetectHiddenWindows, On
hWnd := WinExist("ahk_exe obs64.exe")
ControlSend,, {F5}, ahk_id %hWnd%

我要触发的功能是“开始录音”

什么都没有交付。有传言说最新的 OBS 不允许 ControlSend。真的吗?我该如何规避呢?

【问题讨论】:

    标签: autohotkey obs obs-studio


    【解决方案1】:

    使用SetKeyDelay(或分离 up & down 事件,两者之间有延迟)使按键被按住的时间更长。

    ;hold down for 50ms
    SetKeyDelay, -1, 50
    ControlSend, , {F5}, ahk_exe obs64.exe
    

    另外,假设您不需要 hwnd 来做其他事情,则无需获取它。
    而且它应该也能正常工作,而不会检测到隐藏的窗口。

    【讨论】:

    • 感谢您的建议,但这不起作用(OBS 没有反应)。我正在使用 OBS 24.0.3 和 autohotkey 1.1.33.01。
    • 嗯,它对我来说非常好用。不过,我使用的是最新的 OBS 版本。但我怀疑这会有所作为。而且您确定您的脚本中没有其他可能会干扰测试的内容吗?尝试运行一个新脚本,只使用我上面发布的那两行代码。
    • 是的,成功了!必须看看脚本的其他部分是如何搞砸的。
    • DetectHiddenWindows, On 在这两行使它们不起作用之前。
    • 此外,WinExist 不需要该行,它无论如何都会找到 hWnd,即使窗口已最小化到托盘。 (我在您的代码之前使用 WinExist 以确保 OBS 正在运行)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    相关资源
    最近更新 更多