126

Re: w32 - Вызов WinAPI функций из Lua

не существует никакого "полного списка сообщений с кодами для функции SendMessage"

127

Re: w32 - Вызов WinAPI функций из Lua

Уважаемые, подскажите пжлст как правильно:

w32.PostMessage(hWnd, WM_SETTEXT, 0, str)
--неверный аргумент # 2 для PostMessage (ожидаемое число, ноль)

Вообще я правильно понимаю что жалуется на 0?

128

Re: w32 - Вызов WinAPI функций из Lua

SendMessage

129

Re: w32 - Вызов WinAPI функций из Lua

toxa пишет:

SendMessage

Но оно вроде будет держать квик?

130

Re: w32 - Вызов WinAPI функций из Lua

зато не будет выводить мусор или валиться случайным образом.

131

Re: w32 - Вызов WinAPI функций из Lua

SendMessage тоже не хочет - синтаксис похоже неправильный, в LUA не силен...

132

Re: w32 - Вызов WinAPI функций из Lua

а константа WM_SETTEXT определена?

133

Re: w32 - Вызов WinAPI функций из Lua

local WM_SYSCOMMAND = 0x0112

Это по типу этого? Блинн, нет конечно.

134

Re: w32 - Вызов WinAPI функций из Lua

Alex пишет:
local WM_SYSCOMMAND = 0x0112

Это по типу этого? Блинн, нет конечно.

Да

135

Re: w32 - Вызов WinAPI функций из Lua

--неверный аргумент # 2 для PostMessage (ожидаемое число, ноль) Вооот на кого квик ругался...

136

Re: w32 - Вызов WinAPI функций из Lua

Усе понятно, Спасибо!

137

Re: w32 - Вызов WinAPI функций из Lua

Бог мой, на [url]https://wiki.cheatengine.org/index.php?title=Lua:sendMessage[/url] есть пример по буквам:

for i=1,#text do
  local c = string.sub(text, i, i)
  local wParam = textToShortCut(c)
  local lParam = textToShortCut(c)
  sendMessage( hWnd, WM_IME_CHAR, wParam, lParam )
end

а всю строку сразу в LUA нельзя???
И еще: есть ли в w32 функция socket?
Может, посмотреть Copy/Paste?
Спасибо за ответ.

138

Re: w32 - Вызов WinAPI функций из Lua

в win32 функции socket нет, но есть библиотека luasocket: [url]https://quik2dde.ru/viewtopic.php?id=343[/url]

sendMessage() в библиотеке w32 не поддерживает передачу указателей на строки, если таковые имеются в параметрах: [url]https://github.com/swerg/qlua-w32/blob/master/src/w32/luaw32.c#L272-L273[/url]

можно допилить, в теории.

139

Re: w32 - Вызов WinAPI функций из Lua

Вот Спасибо за ссылку на w32, и как я мимо проскочил - половина вопросов сразу бы не было... Блинн, и за вторую тоже! Приятель попросил робота написать - играет руками, азартен, теряет. Какие проблемы! - счас, 5 минут! Ага, 5мн. Отсюда жестко именно Quik, да и биржа для меня темный лес, очень темный. Как говорится, добро пожаловать! Блн, с чем я связался??!!

140

Re: w32 - Вызов WinAPI функций из Lua

Quik обновился до версии 8.13.1.16, перестал работать автологин!(( Это из-за w32, библиотеки или из-за того, что появилась кнопочка увидеть пароль?

141

Re: w32 - Вызов WinAPI функций из Lua

из-за кнопочки

142

Re: w32 - Вызов WinAPI функций из Lua

toxa пишет:

из-за кнопочки

Понял, исправил, работает.

143 (2021-06-30 22:42:10 отредактировано swerg)

Re: w32 - Вызов WinAPI функций из Lua

Alex пишет:

Уважаемые, подскажите пжлст как правильно:

w32.PostMessage(hWnd, WM_SETTEXT, 0, str)

w32.SetWindowText(hWnd, str)

144

Re: w32 - Вызов WinAPI функций из Lua

Подскажите пожалуйста, что не так?

function OnInit(path)
-- Ищем свое окно
    hWnd = w32.FindWindow("TF1","Robo")
    if hWnd == 0 then
        message("Запустите Robo!")
        stopped = true
        return
        end
    message(string.format(hWnd).." = hWnd", 1)    
    hGlass = w32.FindWindowEx(hWnd, 0, "TButton", "btnStrt1")
    if hGlass == 0 then
        stopped = true
        end
    message(string.format(hGlass).." = hGlass", 1)    
    hTrade = w32.FindWindowEx(hWnd, 0, "TButton", "btnStrt2")
    if hTrade == 0 then
        stopped = true
        end
    message(string.format(hTrade).." = hTrade", 1)
    hEdit = w32.FindWindowEx(hWnd, 0, "TEdit", "edt1")
    if hEdit == 0 then
        message("hEdit = 0!")
        stopped = true
        end
end

Главное окно находится, кнопки и едит = 0? Пытаюсь достучатся до своей программы... Spy++ проверял, русского текста нет.

145

Re: w32 - Вызов WinAPI функций из Lua

Alex пишет:

Подскажите пожалуйста, что не так?

Главное окно находится, кнопки и едит = 0? Пытаюсь достучатся до своей программы... Spy++ проверял, русского текста нет.

Думаю для начала надо убедиться что в функции FindWindowEx 3 и 4 параметры верны

Обычно кнопки имеют имя класса не TButton, а просто Button и поля ввода не TEdit, а Edit
Да и имена элементов у вас какие-то странные

Не знаю как там в Spy++ смотреть, я пользуюсь Window Detective
В ней 3 параметр для FindWindowEx, смотрится в поле ClassName, а 4 в Window Text

146

Re: w32 - Вызов WinAPI функций из Lua

Alex пишет:

Пытаюсь достучатся до своей программы... Spy++ проверял, русского текста нет.

Так а что Spy показывает? покажите
Телепаты в отпуске на этой неделе.

147

Re: w32 - Вызов WinAPI функций из Lua

Я посадил кнопки и едит на красивую синенькую панель. Красотища же, е-мое. В результате и в тестовой программе, и в квике - 0!
Перетащил все прямо на форму - все нашлось! И квик достучался! Я то думал что FindWindowEx заглянет и на панельки...
Вам, уважаемый swerg, отдельное СПАСИБИЩЕ за то что Вы делаете!
Извините за отнятое время...

148

Re: w32 - Вызов WinAPI функций из Lua

Alex пишет:

swerg, отдельное СПАСИБИЩЕ за то что Вы делаете!

Пожалуйста.

Alex пишет:

Я посадил кнопки и едит на красивую синенькую панель. Красотища же, е-мое. В результате и в тестовой программе, и в квике - 0!

Судя по названиям - на Delphi  делаете.
Панель - отдельное окно. Видимо предварительно его хендл найти надо как дочернее окно формы, а уже потом - на нем кнопки. Spy все это показывает же.

149

Re: w32 - Вызов WinAPI функций из Lua

Буилдер 6. Давно пора бы спрыгнуть с него, но несколько рабочих прог придется переделывать - что неохота. Из его минусов - 64б на нем не напишешь, все остальное устраивает. FindWindowEx ищет окна в Z последовательности, панель он увидел, а искать на ней - не стал. Что и подтвердилось дополнительно написанной тестовой прогой. Усложнять код не хочется, поэтому ну его, красоту эту.

150 (2021-07-16 12:01:13 отредактировано swerg)

Re: w32 - Вызов WinAPI функций из Lua

Alex пишет:

Буилдер 6. Давно пора бы спрыгнуть с него, но несколько рабочих прог придется переделывать - что неохота. Из его минусов - 64б на нем не напишешь, все остальное устраивает.

При наличии C++Builder Community Edition это вроде не должно быть особой проблемой. Borland / Embarcadergo весьма хорошо поддерживают преемственность в новых версиях. Замены если и требуются - довольно формальные (если только есть исходники всех используемых доп. компонент, конечно).

Alex пишет:

FindWindowEx ищет окна в Z последовательности, панель он увидел, а искать на ней - не стал.

Я думаю вы просто не дожали тему smile Но не видя своими глазами уже что-то предметно подсказать не выйдет.