Помощь - Поиск - Пользователи - Календарь
Полная версия: как указать хендл окна-цели при запуске из параметров командной строки?
UoKit.com Форумы > Кликер > UO Pilot
trico
вот тут все отлично
Код

UoPilot.exe /r0


а как же хендл цели указать? blink.gif
cirus
Вначале скрипта:
Код
set #handle findwindow (Lineage II)  // найти окно
set workwindow #handle // сделать его рабочим
trico
Цитата(cirus @ 1.3.2020, 9:25) *

Вначале скрипта:
Код
set #handle findwindow (Lineage II)  // найти окно
set workwindow #handle // сделать его рабочим



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

через костыль не хотелось делать.
есть игра, запускаем 3 копии, получаем 3 хендла. запускаем программно на каждое окно игры свою копию пилота, цепляем к окну и запускаем скрипт. это все происходит по условию отключения от сервера. то есть полностью автоматически.
За состоянием окон игры и рабочих копий пилота следит один макрос - он же все перезапускает при необходимости. Но при рестарте все хендлы изменились. а caption окна игры выглядит так: "GAME #handle"

кажется findwindow тут не при чем
cirus
Цитата
но и хендл рабочего окна.

Он меняется при каждом запуске приложения.
Цитата
через костыль не хотелось делать.

Какой костыль? 2 строчки чтобы найти и привязать нужное окно?
trico
вариантов выстругать костыль много - от сохранения хендлов в файл и считывания потом рабочим скриптом до редактирования файла макроса на предмет правильного хендла. но как-то не красиво ....

Цитата(cirus @ 1.3.2020, 11:13) *

Какой костыль? 2 строчки чтобы найти и привязать нужное окно?



ок, у вас есть три окна игры: "game #124578", "game #3654981", "game #8463216"
скрипт пилота который их породил через exec () знает их хэндлы, как привязать каждому окну игры и запустить в них файл скрипта фарм.тхт ?????

ведь файл фарм.тхт не знает их хэндлы и не знает заголовки, а прописать просто findwindow (game) - мы привяжем все три скрипта к одному из окон.

задача запустить через exec () новый пилот и указать ему цель - окно игры и нужный скрипт
cirus
Цитата
findwindow (game) - мы привяжем все три скрипта к одному из окон.

Код
set %handle findwindow(game)

log clear
log mode compact
for #i 1 size(%handle)
    log %handle[#i 1]     %handle[#i 2]
end_for

// т. е:
//  %handle[1 1] - хендл первого окна
//  %handle[2 1] - хендл второго
//  %handle[3 1] - хендл третьего
end_script
trico
Цитата(cirus @ 1.3.2020, 11:37) *

Код
set %handle findwindow(game)

log clear
log mode compact
for #i 1 size(%handle)
    log %handle[#i 1]     %handle[#i 2]
end_for

// т. е:
//  %handle[1 1] - хендл первого окна
//  %handle[2 1] - хендл второго
//  %handle[3 1] - хендл третьего
end_script



Цитата
скрипт пилота который их породил через exec () знает их хэндлы

поэтому искать их нет необходимости.

Цитата
файл фарм.тхт не знает их хэндлы и не знает заголовки

а вот этому как объяснить кто цель? и по теме топика - указать цендл при запуске из командной строки.

я так понял что только через костыль на данный момент. но добавить новую функцию в пилот не помешало бы. спасибо cirus за внимание к моему вопросу smile.gif
Сашкоу
Немного подниму тему, ситуация похожая: имеется 2 запущенных копии приложения(handle 111111 и 222222), в неактивном необходимо нажимать "пробел". Прописываю так:
Код

set workwindow 222222
sendex_down {Spacebar}
sendex_up {Spacebar}

Если делаю активным окно с handle 111111, то handle 222222 перестает работать и работает 111111
Fors1k
Цитата(Сашкоу @ 26.2.2021, 22:16) *
в неактивном необходимо нажимать "пробел". Прописываю так: sendex_down {Spacebar}

Нажмите для просмотра прикрепленного файла

Читайте
  • Введение в скриптинг
  • Список функций
  • ...
https://forum.uokit.com/index.php?showtopic=70302
Сашкоу
Цитата(Fors1k @ 26.2.2021, 21:32) *

Спасибо. Скорее не "только в активном окне", а "работает в активном окне, независимо от окна, к которому привязано"
cirus
Цитата
в неактивном необходимо нажимать "пробел"

Используйте что-то из этого:
send
send217
send_down/send_up
send217_down/send217_up
Сашкоу
Цитата(cirus @ 27.2.2021, 0:33) *

Используйте что-то из этого:
send
send217
send_down/send_up
send217_down/send217_up

Гадких защит понаставили, что не работают так половина кнопок dry.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.