次のことを行うコードを実行しました。 FirefoxまたはEndNoteでマウスで選択すると、スクリプトはCtrl + cを送信し、クリップボードで正規表現の一致をチェックします。一致するものがあれば、クリップボードの内容が変更され、ツールチップが表示されます。これらの2つのプログラムでうまく動作します。 Adobe Acrobatでは、Ctrl + cを押すとエラーが表示されることがあります(たとえユーザーがctrl-cを押したとしても、有名な「クリップボードにコピー中にエラーが発生しました」という内部エラーが発生しました)。 F9ホットキーですが、Acrobatのみではなく、すべてのプログラムに有効です。Acrobatでは、どのようにして1つのウィンドウにホットキーを割り当てることができますか?特定。AHK:1つの特定のアクティブウィンドウにのみホットキーを割り当てます。
#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
ありがとうございます。私は今AHKにアクセスできないが、あなたが答えると私は多くの助けになると思う。私がコードに問題があるなら、私は戻ってきます。 – menteith
美しい!より多くのahkersはこれを読む必要があります。 – Blauhirn