【问题标题】:ahk how to keep visible a window though not activeahk如何保持可见窗口虽然不活动
【发布时间】:2026-02-07 23:45:03
【问题描述】:

下面的脚本可以工作,但会最小化非活动屏幕,但我想保持非活动窗口可见。我该怎么办?

F9::
      IfWinExist ahk_class Forge10MDIClass
      WinMove ahk_class Forge10MDIClass
      WinActivate ahk_class Forge10MDIClass
Send {space} ;; pauses audio file (toggles)
Send !{Esc} ;; Alt + Esc in Windows 8; but it is minimizing and I dont want that
return

【问题讨论】:

    标签: windows autohotkey visible


    【解决方案1】:

    您可以通过两种不同的方式做到这一点:

    首先:存储活动窗口并在切换音频文件后切换回来

    F9::
        WinGet, active_id, ID, A
        IfWinExist ahk_class Forge10MDIClass
        {
            WinActivate ahk_class Forge10MDIClass
            Send {space} ;; pauses audio file (toggles)
            WinActivate, ahk_id %active_id%
        }
        Return
    

    第二种:使用ControlSend直接发送Space到窗口,无需激活。

    F9::ControlSend, ahk_parent, {Space}, ahk_class Forge10MDIClass
    

    注意:我没有这个软件,所以我无法确认ControlSend 可以正常使用它。

    希望这会有所帮助。

    【讨论】:

    • 我尝试了第一种方法,但它不起作用。 Sound Forge 仍在最小化。请让我知道如何实现第二种方式。只有一行吗?
    • 尝试在WinActivate ahk_class Forge10MDIClass 之后添加一个sleep 100 语句 - 也许这是一个缓慢的窗口。
    • 此外,仔细查看脚本,我并没有真正看到什么可以帮助解决问题,即保持我的 Soundforge 屏幕可见但不活动。如果我错了,请纠正我
    • 不,你可以做到。一个窗口可以是可见的,也可以是不活动的。试试看:并排打开两个记事本文件。当您单击一个时,它会变为活动状态,但另一个即使完全失去焦点仍然可见。
    • 好的,但在 Word and Sound Forge 的这种情况下不会发生这种情况。请问有什么办法吗?
    最近更新 更多