Блог им. Prophetic |Еще один вариант автологина QUIK

Для тех, у кого авторизация терминала осуществляется без логина и пароля, по цифровым ключам (например в Уралсиб-Кэпитал):

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.
  • обсудить на форуме:
  • QUIK

....все тэги
UPDONW
Новый дизайн