Скрипт для установки связи с ОФК, запуска СЭДа, получение файлов, закрытия СЭДа и связи.
Код: Выделить всё
; еще не все ошибки обработаны
; Ейский район, 2008
Const $mc = 7 ; минут до автовыразрыва связи
Const $DialUser = "ХХХХ" ; имя юзера на дозвоне
Const $DialPass = "ХХХХ" ; пароль юзера на дозвоне
Const $DialName = "ОФК" ; имя соединения
Const $DialCount = 10 ; попыток дозвона
Const $Window1Name = "Логин" ; название первого окна СЭДа
Const $Window1Text = ""
Const $Window2Name = "Клиент СЭД" ; название основного окна СЭДа
Const $Window2Text = ""
Const $SEDDir = "c:\fkclnt1\exe\" ; путь к СЭДу
Const $SEDFile = "!cbank.bat" ; имя запускного файла СЭДа
dim $i
$i=0 ; будет кол-во попыток дозвона
while $i<$DialCount
if RunWait("rasdial " & $DialName & " " & $DialUser & " " & $DialPass)=0 then ; звоним
$i += 1 ; если успешно
ExitLoop
Else
$i += 1 ; если не успешно
sleep(2000)
EndIf
WEnd
if $i>$DialCount then exit ; если все попытки неуспешны, то выйдем
RunWait($SEDDir & $SEDFile,$SEDDir) ; пускаем СЭД
sleep(2000);
If not WinExists($Window1Name) Then exit ; если не открылось окно Login
WinActivate($Window1Name, "") ; если открылось окно Login то нажмем Enter
sleep(100)
send("{ENTER}")
sleep(10000)
If Not WinActive($Window2Name) Then WinActivate($Window2Name) ; активируем основное окно
Opt("MouseCoordMode",0) ; координаты относительно активного окна
MouseMove(158,61) ; кнопку вызова связи
MouseDown("left")
MouseUp("left")
Opt("MouseCoordMode",1) ; координаты абсолютные
sleep(1000)
$hb = @HOUR ; время сохраним
$mb = @MIN
$he = $hb ; посчитаем время когда нужно будет разъединиться
if $mb+$mc>59 Then
$he+=1
$me=$mb+$mc-60
Else
$me=$mb+$mc
EndIf
Do
sleep(10000)
Until ($he<=@HOUR and $me<=@MIN) or (not WinExists($Window2Name)) ; выйдем из цикла если кончилось время или юзер закрыл СЭД
if WinExists($Window2Name) Then ; если кончилось время то закроем СЭД
WinActive($Window2Name)
Sleep(500)
Send("!{F4}")
endif