Что нового

на какую функцию поменять WinWaitActive, для загрузки скрытного окна в IE

hfnter

Новичок
Сообщения
15
Репутация
0
Я хотел бы нажать на ссылку в скрытном окне IE с помощью функции ControlSend, но у меня ничего не выходит.
вот мой код:
Код:
#include <IE.au3>
$oIE = _IECreate ("http://gamers-zona.hhos.ru/war-thunder-2/", 0, 0)
$hWnd = WinWaitActive ("War Thunder | - Internet Explorer")
Sleep (900)
ControlSend($hWnd, "{CTRLDOWN}{f}{CTRLUP}")
Sleep (900)
ControlSend($hWnd, "{tab 67}{CTRLDOWN}{enter}{CTRLUP}")
Sleep (9000)
WinClose ($hWnd)
WinWaitActive ("Internet Explorer")
Send ("{enter}")

если подскажете что не так буду очень благодарен.
 

Fever

Скриптер
Сообщения
308
Репутация
112
Re: не роботает ControlSend

Дело в том, что ждать активации окна, когда оно скрыто изначально, нет смысла.
 
Автор
H

hfnter

Новичок
Сообщения
15
Репутация
0
Re: не роботает ControlSend

вы имеете в виду, что там ничего не может происходить
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Re: не роботает ControlSend

Имеется в виду то, что скрытое окно никак не может быть активным.

ЗЫ: Вы создали IE окно и в параметрах указали, что оно будет скрыто. Следующей стройкой в коде у Вас программу зависнет до тех пор, пока окно не будет активно - вопрос: как оно будет активно, если оно скрыто ?

Попробуйте указать:
Код:
$hWnd = WinWait ("War Thunder | - Internet Explorer")
 
Автор
H

hfnter

Новичок
Сообщения
15
Репутация
0
Re: не роботает ControlSend

не получилось, попробывал поменять titli на class результат тот же. Какую бы функцию применить для скрытова окна.
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Re: не роботает ControlSend

WinWait
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: не роботает ControlSend

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"не роботает ControlSend" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Глобальный модератор.
 

darkwhite

Знающий
Сообщения
129
Репутация
5
я честно говоря вообще не понимаю что ваш скрипт делает ))
что он ищет то ?
что за комбинации клавиш ?
Что должен Controlsend вытворить с ними ?
и если это нажатие на ссылку не проще ли нажать с помощью
Код:
IEAction
 
Автор
H

hfnter

Новичок
Сообщения
15
Репутация
0
darkwhite
вы не правильно меня поняли. у меня не возникает никаких проблем с выполнением программы в активном режиме окна IE. у меня возникают проблемы с
Код:
WinWaitActive
в скрытном режиме окна,
Код:
WinWait
тоже не помог, мне важно чтобы окно было скрытно или свернуто. я хотел бы узнать нельзя ли заменить WinWait на что то другое.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
hfnter [?]
не возникает никаких проблем с выполнением программы в активном режиме окна
Каким это, интересно, образом, у вас запускается и работает это
Код:
ControlSend($hWnd, "{CTRLDOWN}{f}{CTRLUP}")
Здесь же параметров не хватает. Будет ошибка либо при запуске, либо при выполнении.


Добавлено:
Сообщение автоматически объединено:

hfnter
Скрытые (свёрнутые) окна не всегда обрабатывают клавиши так же, как видимые
Код:
#include <IE.au3>
$oIE = _IECreate("http://yandex.ru/", 0, 0)
$hWnd = WinWait("Яндекс")
Sleep (900)
;~ ControlSend($hWnd, "", "Internet Explorer_Server1", "{CTRLDOWN}{f}{CTRLUP}") ; не работает
ControlSend($hWnd, "", "Internet Explorer_Server1", "autoit{enter}")
Sleep (900)
ControlSend($hWnd, "", "Internet Explorer_Server1", "{CTRLDOWN}{f}{CTRLUP}") ; работает
Sleep (900)
WinSetState($hWnd, "", @SW_SHOW)
 

darkwhite

Знающий
Сообщения
129
Репутация
5
hfnter [?]
ControlSend
Код:
($hWnd, "{tab 67}{CTRLDOWN}{enter}{CTRLUP}")
А вот эта строка что должна послать ? какое действие?
я об этом говорил_
Вы бы сказали что конкретно вы хотите добиться, это бы упростило взаимопонимание для более быстрого решения задачи
 
Автор
H

hfnter

Новичок
Сообщения
15
Репутация
0
void
Я вставил ваш код и получил, что загружается страница в активном режиме и через какое то тремя пропадает, больше ничего не происходит.
darkwhite
Код:
ControlSend($hWnd, "", "Internet Explorer_Server1", "{tab 48}{CTRLDOWN}{enter}{CTRLUP}")

здесь {tab 48} наводят на нужную мне ссылку, {CTRLDOWN}{enter} делает переход, {CTRLUP} отжимает ctrl.
 
Верх