|
|
|
Хендл окна! Баг!?, |
|
|
Санчес |
10.1.2013, 15:55
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Цитата Ну для начала вы присвоили переменной workwindow вместо хенда текст. set workwindow 0007079C 0007079C для пилота текст и не более того. Либо пишите признак шестнадцатиричного числа 0x0007079C, либо используйте десятичный вид числа(предпочтительнее). Спасибо за совет,с десятичным работает. Цитата Куда страшнее когда работа с браузером и хендлы меняются, как перчатки. Это что значит? Обновил страницу,определил правильно. понял что такое "в шапке",да,именно в шапке,мне именно там и надо чтобы оно было,потому как скрипты меняются и один запускает другой DarkMaster если я правильно понял из вики то для того чтобы фколор\фимидж работали с хендлом недостаточно прописать его в шапке ,а также нужно добавить переменную с раб.окном в строку с фколором\фимиджем между %массивом и параметрами поиска,так?
|
|
|
|
xolost |
10.1.2013, 16:00
|
Expert
Сообщений: 517
Регистрация: 17.6.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.035
|
Цитата(DarkMaster @ 10.1.2013, 16:41) Куда страшнее когда работа с браузером и хендлы меняются, как перчатки.
Сет курсору пофигу на все эти хендлы. Я помню мы долго конфликтовали на эту тему с тобой. И мнение я всё же не изменил своего. Напомню, Если уопилот имеет функцию "привязка к окну по названию", то такая функция должна работать полноценно. т.е. не используя сторонних программ сканеров для вычисления дочерних кодов. Вот я вижу перед собой только одно окно. Я не вижу 20 дочерних или каких там, которые имеют тоже название. И раз я вижу только одно окно перед собой, значит браузер как-то всё-таки различает их? и скрывает не нужные. Раз сканер тоже умеет искать в итоге нужное. Стало быть и пилот можно научить различать и находить нужное. Должны быть способы.
|
|
|
|
DarkMaster |
10.1.2013, 16:35
|
Модератор UOPilot
Сообщений: 9.573
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 28549
Пользователь №: 11.279
|
Цитата Вот я вижу перед собой только одно окно. Ты не представляешь насколько глубоко ты сейчас заблуждаешься. Цитата Цитата Куда страшнее когда работа с браузером и хендлы меняются, как перчатки.
Это что значит? Обновил страницу,определил правильно. При каждом обновлении страницы хендл будет генерироваться новый. Цитата DarkMaster если я правильно понял из вики то для того чтобы фколор\фимидж работали с хендлом недостаточно прописать его в шапке ,а также нужно добавить переменную с раб.окном в строку с фколором\фимиджем между %массивом и параметрами поиска,так? Не совсем корректно. Необходимо указывать хендл в финде, а где он объявлен и объявлен ли вообще не имеет никакого значения. Можно просто написать число, можно тыкнуть ctrl+a и написать workwindow, можно подставить переменную. Это как душе угодно. Цитата set $w getwindow (0) пишет в логе ноль и ничего не делает хендл из сканера занесенный в ворквиндоу работает правильно Почему ? set $w getwindow (0) log $w stop_script в логе: 20:34:58 22 (, 1): 919970
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Санчес |
10.1.2013, 16:46
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Код Цитата set workwindow 133024 log $w // в логе 133024 move 1018, 305 wait 500 left 1018, 305 stop_script работает Код Цитата set $w getwindow (0) set workwindow $w log $w // в логе 0 move 1018, 305 wait 500 left 1018, 305 stop_script не работает Сорри ,обшибси Код Цитата set $w getwindow (0) set workwindow $w log $w // лог 5:39:11 8 (, 2): 395570 move 1018, 305 wait 500 left 1018, 305 stop_script не работает Цитата При каждом обновлении страницы хендл будет генерироваться новый. Цитата DarkMaster если я правильно понял из вики то для того чтобы фколор\фимидж работали с хендлом недостаточно прописать его в шапке ,а также нужно добавить переменную с раб.окном в строку с фколором\фимиджем между %массивом и параметрами поиска,так? Не совсем корректно. Необходимо указывать хендл в финде, а где он объявлен и объявлен ли вообще не имеет никакого значения. Можно просто написать число, можно тыкнуть ctrl+a и написать workwindow, можно подставить переменную. Это как душе угодно.
1 Обновил страницу несколько раз,хендл не меняется,переоткрывание вкладки,и соответственно перезапуск брауза - хендл меняется. 2 Значит правильно понял,НО Если помимо фимиджа есть иф по цвету то привязка в шапке таки нужна?
|
|
|
|
veiron |
10.1.2013, 17:27
|
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972
|
Цитата(Санчес @ 10.1.2013, 17:46) 1 Обновил страницу несколько раз,хендл не меняется,переоткрывание вкладки,и соответственно перезапуск брауза - хендл меняется.
Я так же мучался с хэндлом, даже где то тема моя по этому поводу есть. Теперь научился и проблем с хэндлом нет. Спасибо ДаркМастеру,доходчиво объяснил. Теперь смотри: 1. Скачивай InqSoft Window Scanner 2. Наводишь прицел на нужное тебе место 3. Открываешь справа посредине много папок. 4. Смотришь в открывшемся окне где находится нужное тебе. У меня в гугле получается вот такой хэндл, единственное я незнаю как сделать его 1 строкой, приходится вставлять, все 4 строка. В небесах с игрой всего 2 хэндла,практически на всех браузерах. Цитата set #handleWin findwindow (Небеса: уникальная игра! - Игра - Google Chrome) set #handleWin GetWindow (#handleWin CHILD) set #handleWin GetWindow (#handleWin CHILD) set workwindow #handleWin
И еще, желательно, что бы окно было открыто в браузере одно, ни каких дополнительных вкладок. Вот к примеру, этот форум не меняет хэндл, даже если его открыть в гугле еще одной вкладкой, а вот если открыть одноклассники, то они так изменят хондл, что не разберешься, что прописывать. Да,еще, если тебе для Небес, то там все работает на лефтах прекрасно, и не надо ни какие мувы и клефты, единственно, у меня винда 7 64 бита, и я так и несмог понять как работать с перекрытым окном с помощью Фимеджа и Фколора, А так если монитор большой, то в одной половине пилот в игре играет, а ты в другой делаешь свои дела.
|
|
|
|
Санчес |
10.1.2013, 19:34
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Цитата и я так и несмог понять как работать с перекрытым окном с помощью Фимеджа и Фколора мне именно с перекрытым и надо,про сканер я написал выше,им и определяю,к нему претензий нет,я задал другой вопрос,почему сканер и гетвиндоу дают разные хендлы,и с тем что дал сканер все работает,а с тем что дал пилот через гетвиндоу - нет. Экран то у меня достаточно большой,но я хочу чтобы то что я хочу делать разворачивалось на весь экран а не наполовину,иначе на фиг мне 20 дюймов если фильм я буду смотреть в диагонали в 5-10 дюймов (IMG: style_emoticons/default/smile.gif) Цитата Да, либо по абс. не понял причем тут абс...попробую объяснить суть вопроса,работа с окном по привязке к хендлу полностью идентична контрол+а? если да до иф с цветом не работае ни в одном из этих вариантов,а мне надо чтобы работал именно ИФ так как с фколором и фимиджем я уже понял че делать. я делаю иф по цвету,привязываю к окну через ктрл+а,перекрываю это окно и иф перестает определять цвет правильно,в этом главная проблема которую хотелось бы решить если это будет сделано по абс то ничего не изменится,проблема то в том что окно перекрыто другим..в условии иф не указано что надо искать именно в этом окне.. вам конечно виднее но мне кажется что привязка в шапке к окну с помощью хендла проблему не решит. "И еще, желательно, что бы окно было открыто в браузере одно, ни каких дополнительных вкладок." у меня вкладки нормально определяет,пока проблем не было "то там все работает на лефтах прекрасно" к лефтам у меня тоже нет вопросов,у меня вопрос только по ИФу пока.. Цитата 1) Хром? DarkMaster именно он. Цитата Я так же мучался с хэндлом, даже где то тема моя по этому поводу есть. Теперь научился и проблем с хэндлом нет. Спасибо ДаркМастеру,доходчиво объяснил. Теперь смотри: 1. Скачивай InqSoft Window Scanner 2. Наводишь прицел на нужное тебе место Андпей,по идее getwindow в Пилоте должен делать тоже самое что и сканер,в этом главное,почему?Объясняю,если ты хочешь привязаться к окну по хендлу с помощью сканера то не вопрос,делай все то что делал раньше,НО! если getwindow делает тоже самое что и сканер то вместо всех тех операций: Цитата 1. Скачивай InqSoft Window Scanner 2. Наводишь прицел на нужное тебе место 3. Открываешь справа посредине много папок. 4. Смотришь в открывшемся окне где находится нужное тебе. да еще и вставить хендл в переменную надо.... ты пишешь Код set $w getwindow (0) set workwindow $w и все (IMG: style_emoticons/default/smile.gif) очепятка "Андрей",извини спешил (IMG: style_emoticons/default/smile.gif) Цитата ты пишешь Код
set $w getwindow (0) set workwindow $w
DarkMaster или я ошибаюсь? интересный возник вопрос,а не считает ли пилот активным СВОЕ окно в тот момент?Я то нежимаю пуск не гор.клавишей,а мышкой на кнопке РЛОУ (IMG: style_emoticons/default/smile.gif) Хм... так и есть,если не тыкнуть в окно брауза,то пилот пишет хундл своего окна,если же поставить паузу перед ГЕТом,то в логе другой хендл,но проблема осталась,он все равно не тот что в сканере и так же с ним не работает скрипт. хендл пилота 395570 ... окна этой страницы 329276 сканер определяет: пилот(заголовок) как 395570 Десятичное (00060932 Начальное) это окно 723226 Десятичное (000B091A Начальное) Кнопку play и все рядом показывает как отдельное окошко 329782 дес. 00050836 нач. Цитата Кнопку play и все рядом показывает как отдельное окошко 329782 дес. 00050836 нач. В смысле кнопку пилота (IMG: style_emoticons/default/smile.gif)
|
|
|
|
Санчес |
10.1.2013, 20:04
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
я пока не пробовал,но Вики утверждает что есть выход Научил 'findimage' искать картинки в перекрытых окнах. ищет не на всем экране, а в конкретном указанном окне. хэндл окна указывается в качестве типа поиска set #w findwindow (test.bmp) set $a FindImage ( 0 0 1300 1300 (2.bmp) %a workwindow 70 10 15) set $a FindImage ( 0 0 1300 1300 (2.bmp) %a #w 70 10 15) http://uopilot.tati.pro/index.php?title=Findimageа вот про работу с цветом ИФа: Привязка к окну: опциональна. Работа со свернутым окном: частично. но примера не вижу...пока.. http://uopilot.tati.pro/index.php?title=Ifя так понимаю что если хочешь найти картинку в перекрытом окне,то надо хендл этого окна занести в переменную,а переменную поместить в строку фимидж после массива set workwindow 1234567 set $a FindImage ( 0 0 1300 1300 (2.bmp) %a workwindow 70 10 15) тогда фИмидж будет искать картинку в окне с указанным хендлом. Модеры как выбрать цвет шрифта в сообщении?Хочется акцентировать внимание на словах и терминах цветом.
|
|
|
|
Санчес |
10.1.2013, 20:21
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Мысль такая: Иф по цвету это: код иф #x,#y 12345(цвет) включается поиск по цветц в коорд #x,#y а значит типа такого set #иф FindColor ( #x,#y #x,#y (12345) ResultArray [type] [abs]) иф #иф > 0 выполнить тело ИФа как то так... Zeleax спс (IMG: style_emoticons/default/smile.gif) Так?
(IMG: style_emoticons/default/smile.gif)
|
|
|
|
veiron |
10.1.2013, 20:24
|
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972
|
Цитата(Санчес @ 10.1.2013, 21:04) я пока не пробовал,но Вики утверждает что есть выход Научил 'findimage' искать картинки в перекрытых окнах. ищет не на всем экране, а в конкретном указанном окне. хэндл окна указывается в качестве типа поиска set #w findwindow (test.bmp) set $a FindImage ( 0 0 1300 1300 (2.bmp) %a workwindow 70 10 15) set $a FindImage ( 0 0 1300 1300 (2.bmp) %a #w 70 10 15) http://uopilot.tati.pro/index.php?title=FindimageУ меня почему-то не работает в перекрытом, если не перекрыто, все четко находится, может я не правильно, что то сделал, вот скрипт Код set #handleWin findwindow (Игра - Opera) set #handleWin GetWindow (#handleWin CHILD) set #handleWin GetWindow (#handleWin CHILD) set workwindow #handleWin set #handleWin findwindow (test.bmp) set $a FindImage ( 319, 342 417, 379 (test.bmp) %a workwindow 70 10 15) set $a FindImage ( 319, 342 417, 379 (test.bmp) %a #handleWin 70 10 15) if $a > 0 msg Изображение найдено else msg Изображение не найдено end_if end_script
|
|
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|