0

autohotkey を使用して Web サイトのタイムアウト メッセージを確認し、セッションを自動的に維持しようとしています。Winwait はこれに最適な機能のように思えますが、何らかの理由で、私がすべきだと思っていることを実行していません。

これが私が書いた機能ではない機能です:

  DetectHiddenWindows, On
  SetTitleMatchMode 2
  winwait, Message from webpage, Your TrackWise session is expiring
    ControlClick, Button1, Message from webpage, Your TrackWise session is expiring
  return

ウィンドウは Internet Explorer からのポップアップです。検出したいウィンドウについてウィンドウ スパイが教えてくれ、自動的に [OK] をクリックします。

>>>>>>>>>>( Window Title & Class )<<<<<<<<<<<
Message from webpage
ahk_class #32770

>>>>>>>>>>>>( Mouse Position )<<<<<<<<<<<<<
On Screen:  1503, 692  (less often used)
In Active Window:   1219, 259

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

Color:  0xF0F0F0  (Blue=F0 Green=F0 Red=F0)

>>>>>>>>>>( Active Window Position )<<<<<<<<<<
left: 284     top: 433     width: 484     height: 174


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

>>>>>>>>>>>( Visible Window Text )<<<<<<<<<<<
OK
Cancel
Your TrackWise session is expiring in 15 minute(s). 
If you would like to continue click OK, otherwise you will be logged off TrackWise.

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

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

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

なんらかの理由で、winwait は取得できません。次のようなホットキーを使用する場合:

#k::ControlClick , Button1, Message from webpage, Your TrackWise session is expiring

次に、win + k で右ボタンをクリックすると、Web ページ セッションが希望どおりに維持されますが、自動的に希望どおりにはなりません。

助言がありますか?ありがとうございました!!!

4

1 に答える 1

0
titleOption:="ahk_exe iexplore.exe ahk_class #32770", GW_OWNER:=4
Loop
{
   WinWait, % titleOption
   WinGet, procName, ProcessName
         , % "ahk_id "DllCall("GetWindow", "Ptr", hWnd:=WinExist(titleOption)
                                         , "UInt", GW_OWNER
                                         , "Ptr")
   If % procName=="IEXPLORE.EXE"
      ControlClick, % "Button1", % "ahk_id "hWnd
   Sleep, 250
}
于 2013-07-24T12:49:21.440 に答える