web-dev-qa-db-ja.com

ahk_classとは何ですか?ウィンドウマッチングに使用するにはどうすればよいですか?

AutoHotkey Beginner Tutorial には、ウィンドウ固有のホットキーとホットストリングを示す サンプルスクリプト が含まれています。

#IfWinActive ahk_class Notepad
::msg::You typed msg in Notepad
#IfWinActive

#IfWinActive untitled - Paint
::msg::You typed msg in MSPaint!
#IfWinActive

2番目の例は、説明がなくてもわかります。「無題-ペイント」という名前のウィンドウを確認してください。 ahk_classの最初の使用例は、私を混乱させています。

AHKドキュメント で変数の説明を見つけることができませんでした。 AHKフォーラムの投稿によるとahk_classはWindows Spyから提供されたウィンドウの名前です。投稿の詳細については触れていません。

ahk_class NotepadUntitled - Notepadの使用に違いはありますか? 2番目の例は、#IfWinActive ahk_class Paintに置き換えれば機能しますか?

ahk_classとは何ですか。また、ウィンドウマッチングにどのように使用できますか?

13
Stevoisiak

から https://autohotkey.com/docs/misc/WinTitle.htm#ahk_class

ウィンドウクラスは、システムがウィンドウを作成するためのテンプレートとして使用する属性のセットです。つまり、ウィンドウのクラス名は、ウィンドウのタイプを識別します。

つまり、同じタイプのウィンドウを識別するために使用できます。メモ帳を開くと、タイトルはUntitled - Notepadに保存されます。temp.txtに保存すると、タイトルはtemp - Notepadになります。一方、ahk_classは常にNotepadのままです。

2番目の例は、mspaintのクラスであるため、#IfWinActive ahk_class MSPaintAppに置き換えると機能します。

通常はahk_classを使用してWindow Spyを見つけ、スクリプトで使用します。 Window Spyがない場合は、次のホットキーを使用できます。

#1::WinGetClass, Clipboard, A ; Will copy the ahk_class of the Active Window to clipboard

あなたがそれを見つけた後、あなたは例えばWinActivate, Untitled - Notepadを書く代わりにウィンドウタイトルを使うことができるどこでもそれを使うことができますWinActivate, ahk_class Notepadを書くことができます。

13
Oleg

チェック this 記事。 Ahk_classは、WindowSpyツールを使用するときに提供されるクラスです。このツールは、AutoHotkey実行可能ファイルと同じフォルダにある必要があります。

0
Mickers