|
|
  |
Где ошибка? Пишите у кого мелкие вопросы, сюда! |
|
|
veiron |
18.9.2012, 11:27
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(DarkMaster @ 18.9.2012, 9:13)  Далеко не факт, что окно с нужным хендлом имеет заголовок "Небеса". Более того, учитывая, что это браузер сильно сомневаюсь, что даже IE 6 страница будет иметь тот же хендл, что и основное окно. Берите в руки WindowScanner и смотрите где какие окна и какие вам нужны. Далее можно через тот же заголовок, просто потом переходя к нужному окну через get window
Воспользовался сканером по вашему совету названия окна со сканера добавил в код, получился вот такой код: Цитата set #newHandle GetWindow (Небеса: уникальная игра! - Игра - Opera) set #var getwindow (#var CHILD) set workwindow #var и все равно не работает, или может я как то не правильно использую get window
|
|
|
|
DarkMaster |
18.9.2012, 14:25
|
          
Модератор UOPilot
Сообщений: 9.743
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29658
Пользователь №: 11.279

|
Вы в принципе не понимаете, что делаете (IMG: style_emoticons/default/smile.gif) Давайте разбираться. Есть у нас приложение, в данном случае опера. У оперы есть окно. Но фишка в том, что окон там не 1 и не 2. От родительского окна расходится целое дерево окон и вам необходимо попасть на нужное. Каждое поле ввода, каждая флешка, каждая панелька, вкладка - это все разные окна со своим хендлом. WindowScanner в первую очередь я посоветовал потому, что там есть чудесная кнопка "показать дерево окон", и вам сразу многое бы прояснилось. get window это по сути навигация по тому самому дереву. Структура очень схожа с файлами на диске: корень, папки, дочерние(вложенные) папки, папки лежащие рядом.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
veiron |
18.9.2012, 14:36
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(DarkMaster @ 18.9.2012, 14:25)  Вы в принципе не понимаете, что делаете (IMG: style_emoticons/default/smile.gif) Давайте разбираться. Есть у нас приложение, в данном случае опера. У оперы есть окно. Но фишка в том, что окон там не 1 и не 2. От родительского окна расходится целое дерево окон и вам необходимо попасть на нужное. Каждое поле ввода, каждая флешка, каждая панелька, вкладка - это все разные окна со своим хендлом. WindowScanner в первую очередь я посоветовал потому, что там есть чудесная кнопка "показать дерево окон", и вам сразу многое бы прояснилось. get window это по сути навигация по тому самому дереву. Структура очень схожа с файлами на диске: корень, папки, дочерние(вложенные) папки, папки лежащие рядом. я действитель не пониамю что делаю. и по вашему совету я скачал WindowScanner, перешел по этой чудесной кнопке и там я скопировал то что указал в хендле (Небеса: уникальная игра! - Игра - Opera),там еще были цифры (011A0934) я и их пытался добавить и все равно не могу привязать. я уже даже пытаюсь все что в этом дереве есть вставлять по очереди,может что и привяжется,но там так много всего это наверно неделю вставлять придется)
|
|
|
|
veiron |
18.9.2012, 15:14
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(DarkMaster @ 18.9.2012, 15:09)  наведите "прицел" на то самую часть окна, куда надо кликать и потом нажмите на дерево, вам покажет где именно это окно находится. Эти циферки и есть хендл, только в шестнадцатиричном виде. Вам во флешку надо кликнуть?
Да это флеш игра. я навожу прицел на ту часть где мне надо кликнуть, потом в сканере у меня выделяет синим цифры, я эти цифры добавил в скрипт,получилось Цитата set #handleWin findwindow (02EF267E) set workwindow #handleWin и все равно ни чего не меняется,привязка не происходит. я прицел куда бы не наводил в игре,везде только эти цифры и они не меняются.
|
|
|
|
veiron |
18.9.2012, 15:28
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(DarkMaster @ 18.9.2012, 15:18)  findwindow возвращает хендл по заголовку. цифры это уже хендл, его не надо искать. вот он готовенький. Чтобы искать по заголовку провследите путь от окна оперы до этого хендла. После чего надо будет повторить этот путь через get window.
попробовал сделать с GetWindow получился вот такой код: set #newHandle GetWindow (02EF267E) repeat 2 left 953, 467 //кликнуть мышкой wait 7s end_repeat wait 300 left 1174, 489 wait 300 left 910, 581 end_script и все равно не работает, в сканере путь не такой уж и длиннй. втот скрин сканера: (IMG: http://s017.radikal.ru/i414/1209/d3/8d7a06cf4438.png)
|
|
|
|
veiron |
18.9.2012, 15:49
|
       
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972

|
Цитата(DarkMaster @ 18.9.2012, 15:40)  Суть так и не уловили. Успокойтесь, расслабтесь и откройте свой разум (IMG: style_emoticons/default/wink.gif) Тут нет ничего сложного, надо просто чуток иначе взглянуть на происходящее (IMG: style_emoticons/default/smile.gif) Смотрите: workwindow - это переменная в которой хранится хендл окна к которому привязан пилот. По сути там хранятся именно эти циферки когда вы нажимаете ctrl+a findwindow - позволяет найти хендл по заголовку окна. Однако многие окна не имеют заголовков. В данном случае у нас заголовок только у основного окна оперы. get window - позволяет сделать шаг в сторону от окна, хендл которого мы знаем. Грубо говоря OWNER=влево CHILD=вправо FIRST=вверх NEXT=вниз. В данном случае все достаточно просто - два раза перейти в дочрнее окно. Просто это для вас,а для меня это темный лес. переделал код,получилось вот это: set #handleWin findwindow (Небеса: уникальная игра! - Игра - Opera) set #newHandle GetWindow (04080826 | NEXT) set #newHandle GetWindow (04080826 | 02EF267E) repeat 2 left 953, 467 //кликнуть мышкой wait 7s end_repeat wait 300 left 1174, 489 wait 300 left 910, 581 end_script и опять все без изменений.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|