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

 
Ответить в эту темуОткрыть новую тему
> Findwindow, что в имени тебе моем
esqado
сообщение 22.12.2011, 19:44
Сообщение #1


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Доброго времени суток, форумчане.
Пилотом пользуюсь сравнительно недавно, но первое, что захотелось автоматизировать- привязка к окну.
Действовал по инструкции из этой темы- в итоге работает только windowfromcursor. Это здорово. Но меня смущает ситуация, если вдруг курсор не окажется над окном. И дописывать пару строк не хочется, потому что есть findwindow.
Подскажите пожалуйста, как быть в такой ситуации? Как сделать так, чтобы findwindow заработал?

Игра- Легенда вконтакте, браузер- хром.


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 22.12.2011, 20:08
Сообщение #2


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Там окно постоянно перегружается/меняет хендл что ли?


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 23.12.2011, 2:13
Сообщение #3


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Цитата(Zeleax @ 22.12.2011, 21:08) *

Там окно постоянно перегружается/меняет хендл что ли?

Нет. Если бы перезагружалось, то не работал бы пилот (я думаю так). Откуда берется хэндл?


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 24.12.2011, 22:50
Сообщение #4


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



1) по твоим словам у окна нет имени
2) окно не перегружается

Ну так наведи один раз курсор на окно, привяжи к нему пилот (Ctrl+A, windowfromcursor) и пользуйся себе на здоровье.

В чём проблема-то, не могу понять?!


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 25.12.2011, 11:42
Сообщение #5


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Возможно и есть. Я не могу понять, есть ли у окна имя. В этом и прошу помочь разобраться.

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


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 25.12.2011, 12:26
Сообщение #6


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(zavas @ 25.12.2011, 10:42) *

Возможно и есть. Я не могу понять, есть ли у окна имя. В этом и прошу помочь разобраться.

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

1) Ну так возьми WindowScanner и посмотри
2) move ....
set #w windowfromcursor
3) может и не быть имени

Еще вариант: привязаться к родительскому окну по имени, а потом использовать команду set #var getwindow - которая позволяет переходить по дочерним окнам


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 25.12.2011, 13:15
Сообщение #7


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



windowScanner ничего не говорит.

А можно поподробней про дочерние окна? Есть ссылка почитать?


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 25.12.2011, 16:35
Сообщение #8


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(zavas @ 25.12.2011, 12:15) *

windowScanner ничего не говорит.

А можно поподробней про дочерние окна? Есть ссылка почитать?

По форуму искал?


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 26.12.2011, 14:41
Сообщение #9


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Беру таймаут.
Пока решил сделать так:
Код
move x, y abs
set #handle windowfromcursor
set workwindow #handle

Цитата
Еще вариант: привязаться к родительскому окну по имени, а потом использовать команду set #var getwindow - которая позволяет переходить по дочерним окнам

А можно поподробней про этот вариант?


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 26.12.2011, 14:48
Сообщение #10


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата
А можно поподробней про этот вариант?

Сам не пользовался. Инфа из хелпа и как-то на форуме попадалась


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 27.12.2011, 2:42
Сообщение #11


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Код
set #w findwindow (C:\ - WinRar)
set #wc getwindow (#w CHILD)
set #wcc getwindow (#wc CHILD)
set #wccn getwindow (#wcc NEXT)
set #wccnn getwindow (#wccn NEXT)
showwindow #wccnn hide
end_script
скроет панель с кнопками типа add\extract\test\view...
если посмотреть на винрар в каком-нить виндовс браузере, то станет понятней.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 27.12.2011, 8:19
Сообщение #12


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(WKnight @ 27.12.2011, 1:42) *

Код
set #w findwindow (C:\ - WinRar)
set #wc getwindow (#w CHILD)
set #wcc getwindow (#wc CHILD)
set #wccn getwindow (#wcc NEXT)
set #wccnn getwindow (#wccn NEXT)
showwindow #wccnn hide
end_script
скроет панель с кнопками типа add\extract\test\view...
если посмотреть на винрар в каком-нить виндовс браузере, то станет понятней.

А можно короче? Например:
Код
set #w findwindow (C:\ - WinRar)
set #wc getwindow (#w CHILD  CHILD NEXT NEXT)
showwindow #wc hide
end_script


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 27.12.2011, 11:44
Сообщение #13


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



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

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

 

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