1

Тема: AHK: ControlSend в Опере, или что с чем едят

Перепробовал массу вариантов, но заработал только 1 и то не так как хотелось.
Задача:
Заставить скрипт отправлять нажатие клавиш в фоновое окно Opera.
Проблемы:
Почему то попытка записи p_id не увенчалась успехом... ПРобовал так


F12::
WinGet, p_id, pid, A
IniWrite, %p_id%, config.ini, P_I_D, pi_d
Sleep, 100

Пробовал даже так

ControlSend, , {Enter}, ahk_class OperaWindowClass

Работает, но окно должно быть активно.
В общем после целого дня головоломки, я решил обратиться за помощью.
Скрипт должен делать то что его собрат


F10::
Send, {Tab}
Sleep, 200
Send, {space}
Sleep, 200
Send, {tab}
sleep, 200

только в фоновое окно оперы. Вкладка одна и она активна в опере всегда.

2 (изменено: serzh82saratov, 2013-02-10 21:50:12)

Re: AHK: ControlSend в Опере, или что с чем едят

Разве вкладка может быть активна, если неактивно окно?
Или например некий контрол в фокусе, куда и посылаются нажатия?

Думаю надо пробывать посылать нажатия в нужный контрол оперы, но и это не всегда удаётся...

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: ControlSend в Опере, или что с чем едят

serzh82saratov пишет:

Разве вкладка может быть активна, если неактивно окно?
Или например некий контрол в фокусе, куда и посылаются нажатия?

Думаю надо пробывать посылать нажатия в нужный контрол оперы, но и это не всегда удаётся...

В том смысле активна, что вкладка одна и их не 10. Т.е. любые манипуляции с окном, должны происходить именно в этой вкладке

4

Re: AHK: ControlSend в Опере, или что с чем едят

Да пусть их 10, открыта всегда одна. Вопрос в том в какой контрол оперы вы хотите послать нажатия? Ведь когда окно активно то какой то контрол находится в фокусе, и "принимает" нажатия кнопок, а когда неактивно...
Где то слышал что не все программы работают с ControlSend в "фоне", сейчас пробовал с оперой ничего не вышло...

ControlSend, ahk_parent, {Enter}, ahk_class OperaWindowClass

В какой то проге ahk_parent мне помог.
Через ahk_id тоже не вышло.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: ControlSend в Опере, или что с чем едят

Да нет никакого контрола вообще. В том то и дело.

6

Re: AHK: ControlSend в Опере, или что с чем едят

Я это понял:

Из справки:
Если параметр задать как ahk_parent, нажатия клавиш будут посланы напрямую родительскому окну контрола.

потому и использовал ahk_parent.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7 (изменено: DaVinchi, 2013-02-12 12:49:32)

Re: AHK: ControlSend в Опере, или что с чем едят

Перепробовал массу вариантов. Опера вообще чудит, а вот с IE чуть дальше продвинулся, да только толку 0.
Тут без всяких махинаций работает с ahk_pid. Но когда я проверяю на работу в фоновом режиме, и открываю поверх окна блокнот, то перестает отправлять нажатия.
Так же заметил что в IE не хочет печатать текст в том месте где стоит курсор готовый для печати.
Может кто подскажет, как сделать рабочий скрипт?
Сначала нужно поставить отметку в Radio (кружочке), после поставить курсор в поле Edit и ввести текст.
И все это должно происходить в фоне. Т.е. окно браузера должно быть свернутым.

8

Re: AHK: ControlSend в Опере, или что с чем едят

Никак не получится, Radio и Edit являются контролами внутри хтмл кода, нажатия тоже некатят.
Если вы хотите сделать себе то что весь день должно где то что то щелкать в браузере и вам не мешать, ИМХО проще поставить на виртуальную машину.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: ControlSend в Опере, или что с чем едят

serzh82saratov пишет:

Если вы хотите сделать себе то что весь день должно где то что то щелкать в браузере и вам не мешать, ИМХО проще поставить на виртуальную машину.

И почему столь простая и гениальная идея не пришла в мои мозги?
Спасибо. Вопрос снят.