#property copyright "Copyright 2009, Talex" #property link "talex.kaliningrad@gmail.com" #property show_inputs #include #import "user32.dll" int GetAncestor(int a0, int a1); int GetDlgItem(int a0, int a1); int GetLastActivePopup(int a0); int PostMessageA(int a0, int a1, int a2, int a3); #import extern int intervalinseconds = 60; int gi_80 = 15000; void start() { bool li_0 = TRUE; while (!IsStopped()) { if (!li_0) { Print("Connection restored. DC Time:", TimeToStr(TimeCurrent())); li_0 = TRUE; } while (!IsConnected() && !IsStopped()) { if (li_0) { Print("No connection to the server. DC Time:", TimeToStr(TimeCurrent())); li_0 = FALSE; } Rescan(); Sleep(gi_80); if (!IsConnected()) { Reconnect(); Sleep(gi_80); } } Sleep(1000 * intervalinseconds); } } void Rescan() { int li_0 = GetAncestor(WindowHandle(Symbol(), Period()), 2); if (li_0 != 0) { PostMessageA(li_0, WM_COMMAND, 37400, 0); return; } Print("Rescan Error:", GetLastError()); } void Reconnect() { int li_0 = WindowHandle(Symbol(), Period()); int li_4 = GetAncestor(li_0, 2); if (li_4 != 0) { li_0 = GetDlgItem(li_4, 59420); li_0 = GetDlgItem(li_0, 82); li_0 = GetDlgItem(li_0, 35440); PostMessageA(li_0, WM_KEYDOWN, 36, 0); PostMessageA(li_0, WM_KEYDOWN, 13, 0); Sleep(1000); li_0 = GetLastActivePopup(li_4); PostMessageA(li_0, WM_KEYDOWN, 13, 0); return; } Print("Reconnect Error:", GetLastError()); }