Jump to content

WinWaitActive fails - interactive brokers traderworkstation


Recommended Posts

;WinWaitActive intermittently fails to find the "Exit Session Setting" window.

;If the window is moved my the mouse, it will then work.

;can anyone help?

; this changes the tws logout time to be a minute earlier than the pc clock time
Opt("TrayAutoPause", 0)
Opt("MouseCoordMode", 0)
Opt("WinTitleMatchMode", 2)
#include <File.au3>
$logfile = "c:\log\twslogin2" & @YEAR & @MON & @MDAY & ".txt"

TraySetIcon("Shell32.dll", 180)
_FileWriteLog($logfile, "Starting")
; Live mode
While 1
    ;If (((@HOUR = 3 And (@MIN > 15 Or @MIN < 31))) Or (@HOUR = 15 And (@MIN > 15 Or @MIN < 31))) Then
    If 1 Then
        ConsoleWrite("tp0 " & @CRLF);
        Sleep(2000)
        Opt("SendKeyDelay", 500) ;150
        ConsoleWrite("waiting for jave window " & @HOUR & @MIN & @SEC & @CRLF);
        WinWaitActive("[CLASS:SunAwtFrame]", "")
        ConsoleWrite("found for jave window, waiting for exit window " & @HOUR & @MIN & @SEC & @CRLF);
        _FileWriteLog($logfile, "Exit :Session Setting")
        $ret = WinWaitActive("Exit Session Setting", "", 6)
        ConsoleWrite("tp1 " & @CRLF);
        Sleep(2000)
        If ($ret > 0) Then
            ConsoleWrite("found exit window " & @HOUR & @MIN & @SEC & @CRLF);
            If WinExists("Exit Session Setting") Then
                ConsoleWrite("moving windoW " & @HOUR & @MIN & @SEC & @CRLF);
                WinMove("Exit Session Setting", "", 0, 0, 320, 170, 100)
                $hr = @HOUR ;
                If @HOUR > 12 Then
                    Beep(3000, 200);
                    $hr = @HOUR - 12 ;
                EndIf
                $minutes = @MIN
                ;If ($minutes > 55) Then $minutes = 20;
                If ($minutes < 20) Then $minutes = 55;
                ConsoleWrite("right digit " & @CRLF);
                MouseClick("left", 126, 60, 1); right most digit
                Beep(3900, 200);
                Sleep(1000)
                Send("{backspace}" & "{backspace}" & "{backspace}" & "{backspace}" & "{backspace}" & "{backspace}" & "{backspace}" & $hr & ":" & $minutes - 1 & "{enter}");
                MouseClick("left", 131, 150, 1); update
                MouseClick("left", 196, 150, 1); close
                ConsoleWrite("done " & @CRLF);
                Sleep(1000)
                WinMinimizeAll()
            Else
                Beep(1500, 20);
                ConsoleWrite("tp4 " & @CRLF);
                Sleep(1000)
                ;MsgBox($MB_SYSTEMMODAL, "", "Window does not exist", 2)
                _FileWriteLog($logfile, "Window does not exist")
                ;Beep(1500, 500);
            EndIf
        EndIf
    EndIf
    Sleep(2000)


WEnd;

 

 

 

 

tws_login.au3

tws-login-failed-dtect-win.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...