1

私の悪い英語でごめんなさい。

#IfWinActive, ahk_class PX_WINDOW_CLASS

~^s::
KeyWait, s, U
WinWait, This is an unregistered copy ahk_class #32770,, 500
IfWinExist, This is an unregistered copy ahk_class #32770
    WinKill, This is an unregistered copy ahk_class #32770
Return

私の問題は、このホットキー (ctrl + s) を押すと、すべてのオートホットキー スクリプト ホットキーとオートホットキーのトレイ メニュー ショートカットが非アクティブになることがあります (一時停止または一時停止ではなく、ホットキーだけが機能しません)。何故ですか?これを修正する方法は?

4

1 に答える 1

0

続けて提供する情報はほとんどありません...Ctrlsたとえば、PX_WINDOW_CLASSでファイルを保存するためにヒットする可能性があると想像できます。その時点で winwait に一致するウィンドウがアクティブ化されていない場合、何も起こらず、AutoHotKey は座って待って待っています...

提案: WinWait のタイムアウトを短縮し、終了を追加して余分な行を削除します

SetTitleMatchMode=2 ; Find the string "This is an unregistered copy" anywhere in your Title
#IfWinActive, ahk_class PX_WINDOW_CLASS
    ~^s::
    KeyWait, s, U ; Why do you have this in there? are you hanging on your s key for more than 2 seconds?
    WinWait, This is an unregistered copy,,2 ; Wait for two seconds (or a bit longer..)
    if ErrorLevel ; If timeout of WinWait
        Return
    WinKill ; uses ID found in WinWait
    Return
#IfWinActive

またはそれより短い...

SetTitleMatchMode=2
#IfWinActive, ahk_class PX_WINDOW_CLASS
~^s::
    WinWait, This is an unregistered copy,,2
    if not ErrorLevel
        WinKill ; uses ID found in WinWait
Return
#IfWinActive
于 2013-02-25T11:20:32.747 に答える