AHK: Hotkey nur für ein bestimmtes aktives Fenster vergeben und nicht für andere

Ich habe gerade einen Code erstellt, der Folgendes ausführt. Wenn ich in Firefox oder EndNote mit der Maus eine Auswahl treffe, sendet das Skript Strg + C und überprüft die Zwischenablage auf eine Übereinstimmung mit regulären Ausdrücken. Wenn eine Übereinstimmung vorliegt, wird der Inhalt der Zwischenablage geändert und ein Tooltip angezeigt. Es funktioniert gut für diese beiden Programme. Adobe Acrobat zeigt manchmal einen Fehler an, wenn Strg + C gesendet wird (auch wenn ein Benutzer Strg + C drückt. Acrobat zeigt manchmal den berühmten Fehler "Beim Kopieren in die Zwischenablage ist ein Fehler aufgetreten. Es ist ein interner Fehler aufgetreten F9-Tastenkürzel, aber es funktioniert für alle Programme und nicht nur für Acrobat. Wie ordne ich einen Tastenkürzel für nur ein Fenster zu - Acrobat? Hier ist mein Code. Ich weiß, dass es lahm ist besonders

#If WinActive("ahk_exe firefox.exe") || WinActive("ahk_exe EndNote.exe") || WinActive("ahk_exe Acrobat.exe")
        if WinActive("ahk_exe Acrobat.exe")
        F9::
        {
        Clipboard:=""
        send,^c
        ClipWait, 1
        ToolTip % Clipboard := RegExReplace(Clipboard, "\r\n", " ")
        SetTimer, ToolTipOff, -1000
        }
        return

    ~LButton::
        now := A_TickCount
        while GetKeyState("LButton", "P")
            continue
        if (A_TickCount-now > 500 )
        {   
            Send ^c
            if WinActive("ahk_exe firefox.exe")
            {
                If RegExMatch(Clipboard, "[0-9]\.\s[A-Za-z,]*\s[A-Za-z]*")
                {
                regex := "[0-9]\.\s*|\s?\([^)]*\)|\."
                replace := ""
                }
                else If RegExMatch(Clipboard,"[0-9]{2}[-\/][0-9]{2}[-\/][0-9]{4}")
                {
                Clipboard := RegExReplace(Clipboard, "^0", "")
                regex := "\/"
                replace := "."
                }
                else return
            }
            else if WinActive("ahk_exe EndNote.exe")
            {
                If RegExMatch(Clipboard, "[a-z]+\,\s[A-Z0-9‘“]")
                {
                regex := "\??!?\:|\?|!"
                replace := "."
                }
                else return
                }
            ToolTip % Clipboard := RegExReplace(Clipboard, regex, replace)
            SetTimer, ToolTipOff, -1000
        }
    return
#If

ToolTipOff:
    ToolTip
return

Antworten auf die Frage(2)

Ihre Antwort auf die Frage