Блог им. 315

Автоматическая авторизация в Quik

Еще один способ авторизации в Quik без использования exe-файлов
Просто сохраните в текстовый файл, например, autologin.lua и выберите его в квике.

--http://quik2dde.ru
local w32 = require("w32")

-- логин и пароль для терминала
QUIK_LOGIN = "login"
QUIK_PASSW = "parol"


function FindLoginWindow()
  hLoginWnd = w32.FindWindow("", "Идентификация пользователя")
  if hLoginWnd == 0 then
    hLoginWnd = w32.FindWindow("", "User identification")
  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 hLogin = w32.FindWindowEx(hLoginWnd, 0, "", "")
        local nPassw = w32.FindWindowEx(hLoginWnd, hLogin, "", "")
        local nBtnOk = w32.FindWindowEx(hLoginWnd, nPassw, "", "")

        w32.SetWindowText(hLogin, QUIK_LOGIN)
        w32.SetWindowText(nPassw, QUIK_PASSW)

        w32.SetFocus(nBtnOk)
        w32.PostMessage(nBtnOk, w32.BM_CLICK, 0, 0)
                
                while not isConnected() do sleep(1000); end;

      end
    end

  end
end
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
    613 | ★34
    18 комментариев
    Вы что творите?
    Сперва школьники из o-s-a, потом тут.
    Нет, чтобы ссылку привести, мол, лебята, все уже написано давно, в далеком 2013 годе:
    quik2dde.ru/viewtopic.php?id=80
    Когда эту ссылку приводил вчера в топике Сергей < o-s-a.net >  (sergey_gt),  он удалил мой ответ, засранец ;)
    Завтра напишу свой пост. Озаглавлю:
    «Автоматическая авторизация в Quik»
    avatar
    Олег Коробкин, я себя автором скрипта не считаю!
    avatar
    Олег Коробкин, ваш «автор» аналогично скоммуниздил решение. Правды нет нигде. :-)
    avatar
    Евгений, какие ваши доказательства?
    avatar
    Олег Коробкин, Квик трогал лет 8 назад, может больше. Уже тогда было что-то подобное.
    avatar
    Я этого не говорил.
    Но проявите уважение к творцу этого кода, хоть и анонимному.
    avatar
    Олег Коробкин, С уважением.
    avatar
    Владимир, смотрится лучше ;)
    avatar
    Автор, а этот скрипт с любой версией Квика должен работать? 
    Что-то я попробовал у себя такое проделать (сохранил код в текстовый файл с расширением .lua и добавил его в Квике в lua-скрипты). Выдает ошибку:

    C:\Users\User\Desktop\autologin.lua:1: module 'w32' not found:
    no field package.preload['w32']
    no file '.\w32.lua'
    no file 'C:\Program Files (x86)\Info\lua\w32.lua'
    no file 'C:\Program Files (x86)\Info\lua\w32\init.lua'
    no file 'C:\Program Files (x86)\Info\w32.lua'
    no file 'C:\Program Files (x86)\Info\w32\init.lua'
    no file 'C:\Program Files (x86)\Info\Include\w32.dll'
    no file 'C:\Program Files (x86)\Info\Include\w32.lua'

    avatar
    Excogit8er, 

    Если из скрипта робота понадобилось вызвать какие-либо функции WinAPI — проще всего взять готовую библиотеку-обертку.
    Например, посмотрим на библиотеку w32 для Lua.

    Чтобы начать ее использовать достаточно положить файл w32.dll в каталог с QUIK (т.е. там, где info.exe). Если у вас установлен пакет LuaForWindows, то эта библиотека есть в нем.

    Важно: если вы хотите использовать функции, отмеченные здесь как «новые» — то необходимо взять библиотеку с этого сайта, т.к. они есть только в ней!

    avatar
    Олег Коробкин, Понятно, спасибо! Добавил dll'ку в каталог с квиком, все сразу заработало. =)
    Хотя с точки зрения безопасности — это, конечно, «не айс»: хранить пароли в текстовом файле в открытом виде. 
    avatar
    Excogit8er, ага, ато ZOG обнулят твои мильйоны:)
    А тема, полезная, спасибо автор. Попробую завтра.
    Плюсонул бы да сил нет. Плюсоните профиль плизз.

    avatar
    Troll, получи фашист гранату заслуженные плюсы!
    avatar
    Это не реклама, ежели че, просто ссылка ;)
    smart-lab.ru/blog/260931.php


    Программа позволяет настроить ввод компьютера в сон с последующим выводом из сна с запуском программы QUIK.В качестве бонуса — ввод логина и пароля в торговую систему.
    Можно просто — безо всякого сна настроить на запуск нескольких QUIK-ов.
    И еще: логин и пароль хранятся в зашифрованном виде:

    <?xml version="1.0"?>
    <QuikLoginPass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <qpath>D:\QUIK_OpenBroker</qpath>
      <login>Jg5SzaFaNlHtuPJp0mJXtw==</login>
      <pass>h6280j+RRiT+VndCe5eeNA==</pass>
      <waitfor>5</waitfor>
    </QuikLoginPass>
    
    avatar
    Спасибо!
    Скрипт немного переделала под себя, теперь у меня при запуске КВИКа автоматом вводится только имя пользователя) 
    давно думала, что много времени трачу на ввод имени пользователя, а тут эта статья)
    а вот пароль пока не готова так легкомысленно использовать)))
    avatar
    Олеся Ветер, имя пользователя — можно вводить только первую букву;)
    avatar
    waldhaber, точно, проверила, работает!
    и где вы раньше были?)))
    avatar
    waldhaber, любую букву из подстроки
    avatar

    Читайте на SMART-LAB:
    Фото
    Вот это поворот
    Амплитуда вчерашнего движения Индекса МосБиржи, если брать и утренние, и вечерние торги – это от 1896 до 2052 п. Или 8%, если считать от...
    Фото
    Акции каких банков закроют дивгэпы быстрее?
    Разберем кейсы бумаг Сбера, ВТБ и ДОМ.РФ — кто быстрее выкупит техническую просадку. Тема гэпов Индекс МосБиржи рухнул к 1900 п....
    Фото
    GBP/USD: фунт набирает силу на фоне временной слабости доллара
    Фунт продолжил восходящее движение, обновив локальные максимумы. Главной движущей силой этого роста было ослабление доллара после публикации...
    Фото
    Включаем "Антикризис" на полную катушку! А вдруг?
    Сегодня я был снова вынужден прервать свой отвратительный отпуск, чтобы заниматься делами своего инвестиционного портфеля и даже для того, чтобы...

    теги блога Владимир

    ....все тэги



    UPDONW
    Новый дизайн