Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> как указать хендл окна-цели при запуске из параметров командной строки?
trico
сообщение 1.3.2020, 8:48
Сообщение #1


**

Neophyte
Сообщений: 31
Регистрация: 23.12.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.593
Возраст: 26



вот тут все отлично
Код

UoPilot.exe /r0


а как же хендл цели указать? (IMG:style_emoticons/default/blink.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 1.3.2020, 10:25
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26707
Пользователь №: 16.971
Возраст: 29



Вначале скрипта:
Код
set #handle findwindow (Lineage II)  // найти окно
set workwindow #handle // сделать его рабочим
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
trico
сообщение 1.3.2020, 12:05
Сообщение #3


**

Neophyte
Сообщений: 31
Регистрация: 23.12.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.593
Возраст: 26



Цитата(cirus @ 1.3.2020, 9:25) *

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



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

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

кажется findwindow тут не при чем
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 1.3.2020, 12:13
Сообщение #4


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26707
Пользователь №: 16.971
Возраст: 29



Цитата
но и хендл рабочего окна.

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

Какой костыль? 2 строчки чтобы найти и привязать нужное окно?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
trico
сообщение 1.3.2020, 12:21
Сообщение #5


**

Neophyte
Сообщений: 31
Регистрация: 23.12.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.593
Возраст: 26



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

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

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



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

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

задача запустить через exec () новый пилот и указать ему цель - окно игры и нужный скрипт
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 1.3.2020, 12:37
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26707
Пользователь №: 16.971
Возраст: 29



Цитата
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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
trico
сообщение 1.3.2020, 12:43
Сообщение #7


**

Neophyte
Сообщений: 31
Регистрация: 23.12.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.593
Возраст: 26



Цитата(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 за внимание к моему вопросу (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Сашкоу
сообщение 26.2.2021, 22:16
Сообщение #8


**

Neophyte
Сообщений: 12
Регистрация: 19.2.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 19.889
Возраст: 33



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

set workwindow 222222
sendex_down {Spacebar}
sendex_up {Spacebar}

Если делаю активным окно с handle 111111, то handle 222222 перестает работать и работает 111111
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 26.2.2021, 22:32
Сообщение #9


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2383
Пользователь №: 18.746



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

Прикрепленное изображение

Читайте
  • Введение в скриптинг
  • Список функций
  • ...
https://forum.uokit.com/index.php?showtopic=70302

Сообщение отредактировал Fors1k - 26.2.2021, 22:37


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Сашкоу
сообщение 27.2.2021, 1:14
Сообщение #10


**

Neophyte
Сообщений: 12
Регистрация: 19.2.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 19.889
Возраст: 33



Цитата(Fors1k @ 26.2.2021, 21:32) *

Прикрепленное изображение

Читайте

Спасибо. Скорее не "только в активном окне", а "работает в активном окне, независимо от окна, к которому привязано"
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.2.2021, 1:33
Сообщение #11


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26707
Пользователь №: 16.971
Возраст: 29



Цитата
в неактивном необходимо нажимать "пробел"

Используйте что-то из этого:
send
send217
send_down/send_up
send217_down/send217_up
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Сашкоу
сообщение 27.2.2021, 2:14
Сообщение #12


**

Neophyte
Сообщений: 12
Регистрация: 19.2.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 19.889
Возраст: 33



Цитата(cirus @ 27.2.2021, 0:33) *

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

Гадких защит понаставили, что не работают так половина кнопок (IMG:style_emoticons/default/dry.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 24.4.2024, 10:17
Designed by Nickostyle