1

POSシステムで発生する迷惑なポップアップがあり、常に同じウィンドウタイトルとウィンドウメッセージが表示されます. このウィンドウがポップアップするのを常に監視し、ポップアップしたらすぐに Enter キーを押すスクリプトを作成したいと思います。

500msごとにウィンドウのチェックを実行し、ウィンドウが存在する場合はスクリプトを実行するループを使用できることを認識していますが、AHKが短時間のループにならずに継続的に監視できるいくつかの方法があるに違いないと考えています. 過去の経験は一切不問です!ありがとうございました!

PS #persistent タグを調べましたが、それが本当に私が探しているものではないと思います。

追加メモ: 私は独自の調査を続け、WinWait を見つけましたが、ポップアップ ボックスが表示されたときに機能しません! 私が間違っていることを教えてもらえますか?AHK ファイルに追加したスクリプトは次のとおりです。

WinWaitActive, Message, Number of Kits,0
{
    Send {Enter}
}
Return

Windows Inspector からのキャプチャは次のとおりです。

>>>>>>>>>>( Window Title & Class )<<<<<<<<<<<
Message
ahk_class TMessForm

>>>>>>>>>>>>( Mouse Position )<<<<<<<<<<<<<
On Screen:  1219, 438  (less often used)
In Active Window:   765, 7

>>>>>>>>>( Now Under Mouse Cursor )<<<<<<<<

Color:  0xF7F3F7  (Blue=F7 Green=F3 Red=F7)

>>>>>>>>>>( Active Window Position )<<<<<<<<<<
left: 454     top: 431     width: 491     height: 148

>>>>>>>>>>>( Status Bar Text )<<<<<<<<<<

>>>>>>>>>>>( Visible Window Text )<<<<<<<<<<<
&Ok
1
Number of Kits

>>>>>>>>>>>( Hidden Window Text )<<<<<<<<<<<

>>>>( TitleMatchMode=slow Visible Text )<<<<

>>>>( TitleMatchMode=slow Hidden Text )<<<<
4

2 に答える 2

1

私は何年もの間、毎秒実行されるタイマーでいくつかのポップアップと戦ってきました。すぐに機能しない場合は、ウィンドウに合わせて IfWinExist を変更する必要があります。

SetTimer, CheckWin, 1000
return


CheckWin:
SetTitleMatchMode, 2
IfWinExist, ahk_class TMessForm, Number of Kits
{
   WinClose 

   ; alternatively, write code to activate window
   ; then send Enter as in your example

   TrayTip, Popup-Killer,Window killed,3, 17
   return
}
return

ところで、私はコメントからMCLのシェルフックのアイデアが本当に好きです...

于 2013-07-30T07:06:12.577 に答える
0

これはどう?:

F12:: 
  WINDOWEXPLORER: 
    WinWaitActive, Windows Explorer,, 0.01 
    if ErrorLevel { 
      Goto WINDOWEXPLORER 
    } else { 
      ; SoundBeep 4500, 30
      Return 
    }
于 2015-09-04T19:59:43.020 に答える