AHK: Atribua tecla de atalho apenas para uma janela ativa específica e não para outras
Acabei de criar um código que faz o seguinte. Quando faço uma seleção com o mouse no Firefox ou no EndNote, o script envia um Ctrl + ce verifica a área de transferência para uma correspondência de regex. Se houver uma correspondência, ele altera o conteúdo da área de transferência e mostra uma dica de ferramenta. Funciona bem para esses dois programas. Às vezes, o Adobe Acrobat mostra um erro quando um Ctrl + c é enviado (mesmo se um usuário pressiona um ctrl-c O Acrobat às vezes mostra a famosa "Houve um erro ao copiar para a área de transferência. Ocorreu um erro interno). Por isso, decidiu atribuir um Tecla de atalho F9, mas funciona para todos os programas e não apenas para o Acrobat.Como atribuir uma tecla de atalho para apenas uma janela - Acrobat? Aqui está o meu código. Eu sei que é manco - eu sou um novato em programação em geral e no AHK em especial.
#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