26 (2020-04-15 10:21:40 отредактировано GREEN_X5)

Re: Автологин в QUIK (на Lua)

Xantrax пишет:

Вопрос: может быть у вас с библиотекой что-то не так?

У нас всё так, всё работает уже много лет )
Не нашел как тут прицепить файл к сообщению, хотел готовый w32 дать на пробу.

27

Re: Автологин в QUIK (на Lua)

GREEN_X5 пишет:

У нас всё так, всё работает уже много лет )

Товарищи, простите меня, я вчера бился бился, ничего не работало, а сегодня все чудным образом заработало.(( Потрите мой флуд и мои сообщения.

28

Re: Автологин в QUIK (на Lua)

Добрый день, а с QUIK 8.3.2.4
автозапуск работает?

29

Re: Автологин в QUIK (на Lua)

kenkokan пишет:

Добрый день, а с QUIK 8.3.2.4
автозапуск работает?

Да. Прямо сейчас у меня работает.

30 (2020-04-16 10:41:11 отредактировано Xantrax)

Re: Автологин в QUIK (на Lua)

kenkokan пишет:

Добрый день, а с QUIK 8.3.2.4
автозапуск работает?

Да. Только теперь другой вопрос, при обрыве связи:
1) сам нажимаешь кнопку разъединения;
2) отключаешь вай-фай на время, а потом снова подключаешь.
сам терминал не показывает окно логина, не пытается восстановить соединение (галочка в настройках стоит как в первом топике).

И еще вопрос:
Вот эта функция в скрипте

[+]Spoiler
function OnStop()
  timeout = 1
  is_run = false
end

она где применяется?

31

Re: Автологин в QUIK (на Lua)

Товарищи, помогите пожалуйста.
После автологина появляется сообщение о том, что сообщение успешно установлено.https://i.ibb.co/BBYQ7n5/image.png
Указатель на окно получил, а дальше как? Попробовал также как и с автологином, получить указатели на элементы окна функцией FindWindowEx, но толи кол-ко элементов не то, толи к ним нельзя так обращаться. Как закрыть окно?)

32

Re: Автологин в QUIK (на Lua)

отключить в настройках его появление проще всего.

33 (2020-04-22 06:46:54 отредактировано SergD)

Re: Автологин в QUIK (на Lua)

Люди добрые, подскажите пожалуйста, сделал все как написано, винда 64х битная
Запускаю макрос луа, выдает ошибку

error loading module 'w32' from file 'M:\Sergey\Program\QuikFinam-bid\w32.dll':
    Не найдена указанная процедура.

Сам файл там лежит, взял именно 64х битную
Запустил с правами администратора, на всякий случай

Раньше пользовался на винде 32х битной, все работало шикарно, вот теперь при переходе на квик 8.5 какие-то непонятнки (

34

Re: Автологин в QUIK (на Lua)

SergD пишет:

Запускаю макрос луа, выдает ошибку
error loading module 'w32' from file 'M:\Sergey\Program\QuikFinam-bid\w32.dll':
    Не найдена указанная процедура.

Пробуйте, у меня тоже с начала не получалось, но потом чудесным образом скрипт запустился.

35

Re: Автологин в QUIK (на Lua)

Xantrax пишет:
SergD пишет:

Запускаю макрос луа, выдает ошибку
error loading module 'w32' from file 'M:\Sergey\Program\QuikFinam-bid\w32.dll':
    Не найдена указанная процедура.

Пробуйте, у меня тоже с начала не получалось, но потом чудесным образом скрипт запустился.

А что пробовать? Как вчера не работало, так и сегодня ) Все вроде по инструкции делаю, и файл она видит, но вот не работает

36

Re: Автологин в QUIK (на Lua)

Попробовал создать скрипт из одной строки: local w32 = require("w32")
Все равно та же ошибка
error loading module 'w32' from file 'M:\Sergey\Program\QuikFinam-bid\w32.dll':
    Не найдена указанная процедура.

37

Re: Автологин в QUIK (на Lua)

SergD пишет:


Все равно та же ошибка
error loading module 'w32' from file 'M:\Sergey\Program\QuikFinam-bid\w32.dll':

Библиотека точно лежит в одной папке со скриптом?

38

Re: Автологин в QUIK (на Lua)

toxa пишет:

отключить в настройках его появление проще всего.

Не подскажете, где это в настройках. Я подозреваю, что в "Система - Настройки - Основные настройки - Сообщения - Оповещения", снять галочку Показывать уведомления. Но... Не затроент ли изменение этого пункта какие-нибудь другие оповещения?

39

Re: Автологин в QUIK (на Lua)

Xantrax пишет:
SergD пишет:


Все равно та же ошибка
error loading module 'w32' from file 'M:\Sergey\Program\QuikFinam-bid\w32.dll':

Библиотека точно лежит в одной папке со скриптом?

Да точно, я ее и в папку скрипта клал,  в папку квика,  в windows\system32

Все равно одно и тоже пишет

40

Re: Автологин в QUIK (на Lua)

Xantrax пишет:
SergD пишет:


Все равно та же ошибка
error loading module 'w32' from file 'M:\Sergey\Program\QuikFinam-bid\w32.dll':

Библиотека точно лежит в одной папке со скриптом?

Причем точно такая же ситуация повторяется на ноутбуке с виндой 64х битной. Сначала думал может первая ситуация была проблемная из-за сервера 2016.

Квик 8.5, файл луа лежит lua53.dll
Помогите пожалуйста разобраться, откуда ноги растут , не понимаю

41

Re: Автологин в QUIK (на Lua)

SergD пишет:

Квик 8.5, файл луа лежит lua53.dll
Помогите пожалуйста разобраться, откуда ноги растут , не понимаю

из квика 8.5. w32.dll у вас, скорее всего, для lua 5.1. попробуйте с предыдущим квиком. квик 8.5 очень сырой и глючный.

42 (2020-05-01 20:33:07 отредактировано mihalich81)

Re: Автологин в QUIK (на Lua)

toxa пишет:
SergD пишет:

Квик 8.5, файл луа лежит lua53.dll
Помогите пожалуйста разобраться, откуда ноги растут , не понимаю

из квика 8.5. w32.dll у вас, скорее всего, для lua 5.1. попробуйте с предыдущим квиком. квик 8.5 очень сырой и глючный.

В QUIK 8.5 уже LUA 5.3. w32.dll для 5.1 работать не будет.

43

Re: Автологин в QUIK (на Lua)

Используя опыт авторов автологина на сайте quik2dde ru и bot4sale ru/download-categories/2012-06-13-15-10-36/item/avtologin-dlya-quik.html

доработал макрос autologin таким образом:

сделал определение, какая версия квика, так что работает как на 7й версии (32х, использует старую библиотеку w32) так и на 8й (х64, использует новую библиотеку bot4sale64.dll)

1) прежде чем нажать на "ОК" он делает небольшую паузу, чтобы можно было выбрать другой сервер
2) после подключения, выдает сообщение, к какому серверу подключился (к сожалению, работает только на версии 7 с библиотекой w32, т.к. в новой библиотеке bot4sale64.dll не нашел функции w32.GetWindowTe xt, буду признателен, если добавите такую функцию в Вашу библиотеку)
3) выдает сообщения, если связь потеряна
4) в папке квика создает текстовый файл _time_when_conn ect в который записывает время подключения (у меня это используется для других макросов)

Выложил архив здесь denegin ru/files/autologin.rar
Можно использовать в любых целях без упоминания авторства

44

Re: Автологин в QUIK (на Lua)

SergD пишет:

Квик 8.5, файл луа лежит lua53.dll
Помогите пожалуйста разобраться, откуда ноги растут , не понимаю

mihalich81 пишет:

В QUIK 8.5 уже LUA 5.3. w32.dll для 5.1 работать не будет.

Сборка библиотеки w32 обновлена, теперь она совместима и с QUIK 8.5/
Ссылки в первом сообщении темы

45 (2020-06-15 21:23:46 отредактировано 266157921)

Re: Автологин в QUIK (на Lua)

Здравствуйте, подскажите,у меня почемуто скрипт в поле логина сначала логин подставляет а потом ту даже и пароль. Соотвестственно не могу соедениться по нему
Версия 8.6

46

Re: Автологин в QUIK (на Lua)

266157921 пишет:

Здравствуйте, подскажите,у меня почемуто скрипт в поле логина сначала логин подставляет а потом ту даже и пароль. Соотвестственно не могу соедениться по нему
Версия 8.6

Вроде все работает.
Значит в самом скрипте в этих строках где-то ошибка:

local n1 = w32.FindWindowEx(hLoginWnd, 0, "", "")
            local n2 = w32.FindWindowEx(hLoginWnd, n1, "", "")
            local n3 = w32.FindWindowEx(hLoginWnd, n2, "", "")
            local n4 = w32.FindWindowEx(hLoginWnd, n3, "", "")

            w32.SetWindowText(n2, QUIK_LOGIN)
            w32.SetWindowText(n3, QUIK_PASSW)


            w32.SetFocus(n4)
            w32.PostMessage(n4, w32.BM_CLICK, 0, 0)

47 (2020-06-15 22:40:02 отредактировано 266157921)

Re: Автологин в QUIK (на Lua)

Xantrax пишет:
266157921 пишет:

Здравствуйте, подскажите,у меня почемуто скрипт в поле логина сначала логин подставляет а потом ту даже и пароль. Соотвестственно не могу соедениться по нему
Версия 8.6

Вроде все работает.
Значит в самом скрипте в этих строках где-то ошибка:

local n1 = w32.FindWindowEx(hLoginWnd, 0, "", "")
            local n2 = w32.FindWindowEx(hLoginWnd, n1, "", "")
            local n3 = w32.FindWindowEx(hLoginWnd, n2, "", "")
            local n4 = w32.FindWindowEx(hLoginWnd, n3, "", "")

            w32.SetWindowText(n2, QUIK_LOGIN)
            w32.SetWindowText(n3, QUIK_PASSW)


            w32.SetFocus(n4)
            w32.PostMessage(n4, w32.BM_CLICK, 0, 0)

я не разбираюсь в этом, вот как у меня:

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)

      end
    end

  end
end

48

Re: Автологин в QUIK (на Lua)

266157921 пишет:

я не разбираюсь в этом, вот как у меня:

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)

      end
    end

  end
end

По ссылке в первом сообщении нерабочий скрипт. Нужно поменять функцию main

function main()
  while is_run do
    sleep(timeout)

    if isConnected() == 0 then
  
      local hWnd = FindLoginWindow()
      if hWnd ~= 0 then

        local hLoginWnd = w32.FindWindowEx(hWnd, 0, "", "")
        local hLogin = w32.FindWindowEx(hWnd, hLoginWnd, "", "")
        local nPassw = w32.FindWindowEx(hWnd, hLogin, "", "")
        local nBtnOk = w32.FindWindowEx(hWnd, nPassw, "", "")
        
        w32.SetWindowText(hLogin, QUIK_LOGIN)
        w32.SetWindowText(nPassw, QUIK_PASSW)

        w32.SetFocus(nBtnOk)
        w32.PostMessage(nBtnOk, w32.BM_CLICK, 0, 0)

      end
    end

  end
end