Windows で同じホーキー (Strg+Alt+X など) を使用してプログラム (メモ帳など) を開いたり閉じたりしようとしています。そのため、プログラムが閉じているときは「X」で開き、開いているときは「X」で閉じます。
これは、プログラムを開くためのホットキーとプログラムを閉じるためのホットキーの 2 つを使用して行うのが非常に簡単です。しかし、同じホットキーでこれに取り組む方法がわかりません。誰かが私を正しい方向に向けることができますか? 多分これはオートホットキーで可能ですか?
Windows で同じホーキー (Strg+Alt+X など) を使用してプログラム (メモ帳など) を開いたり閉じたりしようとしています。そのため、プログラムが閉じているときは「X」で開き、開いているときは「X」で閉じます。
これは、プログラムを開くためのホットキーとプログラムを閉じるためのホットキーの 2 つを使用して行うのが非常に簡単です。しかし、同じホットキーでこれに取り組む方法がわかりません。誰かが私を正しい方向に向けることができますか? 多分これはオートホットキーで可能ですか?
これがあなたが探しているものだと思います。StartClose
他のアプリケーションのホットキーも作成したい場合は、将来使用するためのメソッドを作成しました。AutoHotkeyトレイアイコンを右クリックすると表示されるWindowSpyを使用して、ウィンドウのタイトルとクラスを見つけることができます。
x::StartClose("ahk_class Notepad", "notepad.exe")
StartClose(title, exe)
{
IfWinExist, %title%
WinClose
else
{
Run, %exe%
WinActivate
}
}
エリオットの答えは、正しい方向を示してくれました(私はAutoHotKey
構文にまったく慣れていません)。彼のアプローチでは、システム トレイに最小化されないプログラムに適したウィンドウ タイトルを使用しています。しかし、そのようなプログラムがある場合は、プロセス ID に基づいてプログラムを閉じることをお勧めします。
^!x::StartClose("XMouseButtonControl.exe")
StartClose(exe)
{
Process, Exist, %exe% ; check to see if program is running
If (ErrorLevel = 0) ; If program is not running -> Run
{
Run, %exe%
}
Else ; If program is running, ErrorLevel = process id for the target program -> Close
{
Process, Close, %ErrorLevel%
}
}