|
|
  |
Хендл окна! Баг!?, |
|
|
| xolost |
21.10.2012, 15:23
|
     
Expert
Сообщений: 517
Регистрация: 17.6.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.035

|
Цитата(DarkMaster @ 21.10.2012, 16:07)  Сканер вообще не требует установки.
Браузер еще сложнее чем блокнот. Там десятки хендлов. Вообще я бы посоветовал для начала выводить в лог содержимое переменной с хендлом.
сцыль можешь дать на рабочую версию? а то первая страница поисковика кидает видимо на вирусный софт, который я по всей видимости уже скушал, раз установил.. при пиде и текстовом варианте 16:21:21 6 (, 2): 44500254 16:21:52 6 (, 2): 44500254 вот такие логи
|
|
|
|
|
|
| _LESTAT_ |
21.10.2012, 17:16
|
   
Apprentice
Сообщений: 103
Регистрация: 12.3.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.512
Возраст: 25

|
Все работает с блокнотом на виндовс 7 , просто ты не указывал переход на дочернее окно, являющееся едитом. Пользуйся windows scaner'ом , чтобы узнать на сколько дочерних окон спускаться и куда. Цитата set #a findwindow ( — Блокнот ) set #a getwindow (#a CHILD) set workwindow #a if #a > 0 showwindow #a send Privet ot LESTAT85 sendex {Enter} send Как видишь, все работает ! end_if stop_script Это простейший рабочий пример, в более сложных веб приложениях поиск нужного рабочего окна целый процесс, вот например кусок кода скрипта отвечающий за это в моем скрипте. Цитата //Поиск игрового окна :Res0 //Help Позиции в которых может появиться нужное нам игровое окно //0: >>v>v>> // > child , v next //1: >>v>v>>>> //2: >>>v>> //3: >>>v>>>> //4: >>>v>>> (10.09.2012) //5: >>>v>>>v (21.10.2012) set #w #w + 1 if #w > 2 set #w 0 gosub win_lost end_if //set logging > w = #w :Opo set #va findwindow ( какая то игра) if #va = 0 gosub win_lost end_if set #wjug0 #va //Для Обновления страницы set #var getwindow (#va CHILD) if #var = 0 gosub opoj //Для отсеивания постор. окон end_if get windowpos #va #wx #wy #ww #wh //Получаем размеры окна // set logging #va #wx #wy #ww #wh set #hposx (#wx + (#wx + #ww / 2)) //Вычисляем середину окна set #hposy (#wy + #wh - 50) //Вычисляем почти низ окна set #var getwindow (#var CHILD) if #w = 1 set #varbuf #var set #var getwindow (#var NEXT) //2 or 3 if #var = 0 set #var #varbuf end_if end_if set #var getwindow (#var CHILD) set #var getwindow (#var NEXT) //1 or 3 set #var getwindow (#var CHILD) set #var getwindow (#var CHILD) gosub ButEn_seach set #var getwindow (#var CHILD) gosub WinGame_seach //сделать дополнительный goto if #w = 2 set #varbuf #var set #var getwindow (#var NEXT) //5 gosub WinGame_seach if #var = 0 set #var #varbuf end_if end_if set #var getwindow (#var CHILD) gosub WinGame_seach goto Res0
|
|
|
|
|
|
| Санчес |
10.1.2013, 15:01
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
Цитата(DarkMaster @ 21.10.2012, 14:51)  99% ты не тот хендл находишь.
Такая же беда... код Цитата set workwindow 0007079C set $w workwindow log $w move 1015, 307 stop_script В логе "0" мувает по абсолютным 1440*900 ВинХП Брауз Хром В любой вкладке мувает в одно место,и даже если все свернуть делает то же на раб.столе.
Эскизы прикрепленных изображений
|
|
|
|
|
|
| xolost |
10.1.2013, 15:39
|
     
Expert
Сообщений: 517
Регистрация: 17.6.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.035

|
Цитата(Санчес @ 10.1.2013, 16:35)  я хочу фыльму смотреть пока пилот работает,поэтому мне не подходит через курсор...а так мне проще нажать ктрлА чем в каждый скрипт добавлять новые строки с привязкой и фильм на весь экран хочу (IMG: style_emoticons/default/smile.gif) Не понимаю, в чем отличие между привязкой по курсору и по хендлу? ну по-сути? Курсор не нужно всегда держать на окне. Курсор нужно один раз навести куда нужно через move (на окно к которому привязывать будем) и написать: Код set WorkWindow WindowFromCursor И всё, к этому окну будет привязан. кажется я понял почему ты считаешь это проблемой. Твой код использует "шапку"? Если не знакомо понятие "шапка", то поясняю. сначала указываем все константы в коде: Например, Код //шапка set #a 1 set $a 10 move 500, 500 set WorkWindow WindowFromCursor
//+++++++++++++= тело :na4alo while 1 = 1 // тут много всякого кода. end_while т.е. в верхней части мы указали данные, которые не будут передергиваться во время работы скрипта, а только при запуске один раз. Т.е. привязались к нужному окну и больше не трогаем привязку и курсор соответственно.
|
|
|
|
|
|
| Санчес |
10.1.2013, 15:44
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
Цитата Не понимаю, в чем отличие запустил скрипт в нужном окне привязал включил фильм скрипт повторился и... к чему он привяжется в этот раз??
|
|
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|