Для тех, у кого авторизация терминала осуществляется без логина и пароля, по цифровым ключам (например в Уралсиб-Кэпитал):
local w32 = require("w32")
function FindLoginWindow()
hLoginWnd = w32.FindWindow("", "Установка сетевого соединения")
if hLoginWnd == 0 then
hLoginWnd = w32.FindWindow("", "Network connection setting")
end
return hLoginWnd
end
timeout = 1000 -- таймаут между попытками поиска окна логина
is_run = true
function OnStop()
timeout = 1
is_run = false
end
function main()
while is_run do
sleep(timeout)
if isConnected() == 0 then
local hLoginWnd = FindLoginWindow()
if hLoginWnd ~= 0 then
local nBtnOk = w32.FindWindowEx(hLoginWnd, 0, "Button", "&Ввод")
if nBtnOk == 0 then
nBtnOk = w32.FindWindowEx(hLoginWnd, 0, "Button", "&Enter")
end
w32.SetFocus(nBtnOk)
w32.PostMessage(nBtnOk, w32.BM_CLICK, 0, 0)
while not isConnected() do sleep(1000); end;
end
end
end
end
Код на Lua, со всеми вытекающими. Как и для других «автологинов», требуется библиотека w32.dll.