2017-03-13 22 views
0

新しいウィンドウが開かれたとき(またはフォーカスに戻ったとき)に警告するahkスクリプトを作成しようとしています。言い換えれば、現在のウィンドウがいつ変化するかを検出したいのです。私は違いを検出するために、ウィンドウ名を比較してみた:AutoHotkey現在のウィンドウが変更されたときにGetWinTitle

0:: 
    WinGetTitle, title, A 
    windowTitle=%title% 
    MsgBox, "The current window is %title%." 
    return 

    9:: 
    WinGetTitle, title2, A 
    if (%title2% = %title%) 
    { 
     success=1 
    } 
    else 
    { 
     MsgBox, "The current window changed to %title2%." 
    } 
    return 

しかし、
1)私は明らかに変数で不正な文字を使用しています。
2)私はむしろこれとは異なる方法を使用したいと思います。

ありがとうございます!

P.S.アラートに現在のウィンドウの名前が含まれるようにしたいと思います。

+0

'if'で括弧を使用する場合は、変数がすでに自動拡張されているため、'% 'を使用しないでください。 – wOxxOm

+0

うわー!出来た!私がエラーメッセージを読むと、私は変数に引用符を使用できないかのように私を眺めました。ありがとう! – Anonymous

+0

[SetTimer - Example2](https://autohotkey.com/docs/commands/SetTimer.htm#Examples)も参照してください。 – user3419297

答えて

2
CurrentTitle := "" 

SetTimer, CheckWindow, 1000 
return 

CheckWindow: 
    WinGetTitle, NewTitle, A 
    if (CurrentTitle != NewTitle){ 
     ToolTip % "Window changed to: " NewTitle 
     CurrentTitle := NewTitle 
    } 
    return 
+0

私は 'setTimer'を使いたいので、スクリプトの実行はブロックされません。 – Blauhirn

+0

@Blauhirn - SetTimerを使うように更新 –

関連する問題