web-dev-qa-db-ja.com

AutoHotKeyでアクティブウィンドウのタイトルを取得するにはどうすればよいですか?

この短いテストコードを作成しましたが、機能しませんでした。私は何が間違っているのですか?

F12::
WinGetTitle, Title, A ;
MsgBox, "%Title%"

表示された結果は「」でした

19
Kou

;を削除しましたそしてリターンを追加し、これはうまくいきました...

F12::
WinGetTitle, title, A
MsgBox, "%title%"
return
29
Schwarzie2478

あなたがリターンを入れないならば、それはあなたのファイル全体を使い果たします。

おそらく、後で何かが実行されないでしょう。

考えないでください;それに影響を与えます。

何でも a;コメントとしてコードから省略されています。

3
user3712978

ベストプラクティスはおそらく使用することです WinGetActiveTitle

F12::
   WinGetActiveTitle, Title
   MsgBox, The active window is "%Title%".
return
3
Forivin

WinGetActiveTitleまたはWinGetTitleを使用してもかまいません。 WinGetTitleの出力には、ウィンドウタイトル以外のものが含まれていることに注意してください。プログラム名が付いた終了部分を削除することをお勧めします(例: "-Google Chrome")。

WinGetActiveTitle, Title
StringGetPos,pos,Title,%A_space%-,R
if (pos != -1)
    Title := SubStr(Title,1,pos)
0
Thierry Dalon

AutoHotKey 2では、これを使用できます。

title := WinGetTitle("A")  ; "A" matches "Active" window

AutoHotKey 1では、次のものを使用できます。

WinGetActiveTitle, title
0
vitaliydev