Что нового

Выполнение скрипта в неактивном окне

Script17

Новичок
Сообщения
7
Репутация
0
Создал простенький скрипт
Код:
AutoItSetOption("TrayIconHide" ,1)
Run("UniversalTermsrvPatch-x64.exe")
WinWaitActive("Universal Theme Patcher")
Send("{ENTER}")

WinWaitActive скрипт ожидает активное окно потом выполняется, как заставить его выполнятся на не активном окне? Проблема в том, что окно патча появляется не активным скрипт его не видит.

Как скрыть мелькающее окно установки?
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Код:
#NoTrayIcon

Run( "UniversalTermsrvPatch-x64.exe" )
$hWnd = WinWait( "Universal Theme Patcher" )
WinActivate( $hWnd )
WinWaitActive( $hWnd )
Send("{ENTER}")
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Script17,
Вставь код в теги [autoit][/autoit]
 
Автор
S

Script17

Новичок
Сообщения
7
Репутация
0
firex сказал(а):
Код:
#NoTrayIcon

Run( "UniversalTermsrvPatch-x64.exe" )
$hWnd = WinWait( "Universal Theme Patcher" )
WinActivate( $hWnd )
WinWaitActive( $hWnd )
Send("{ENTER}")

Спасибо за совет попробывал не получается, пока не кликнешь мышью по заголовку онка - скрипт не срабатывает.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Script17 [?]
заставить его выполнятся на не активном окне
Код:
Run("UniversalTermsrvPatch-x64.exe")
WinWait("Universal Theme Patcher")
WinClose("Universal Theme Patcher")
WinWait("Universal Termsrv.dll Patch")
ControlClick("Universal Termsrv.dll Patch", "", "Button1") ; Patch


Как скрыть мелькающее окно установки?
Скрыть можно, но мелькать всё равно будет.
 
Автор
S

Script17

Новичок
Сообщения
7
Репутация
0
Ребят всем спасибо за помощь. :IL_AutoIt_1: :IL_AutoIt_1: :IL_AutoIt_1: По факту благодаря вам у меня теперь есть два скрипта один ловит в активном окне другой в не активном, а как поймать окно и нажать в нем клавишу не зависимо от того будет появлятся оно активным или не активным и что бы требуемая клавиша нажалась 100%? (иногда Send подглючивает)
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Script17 [?]
что бы требуемая клавиша нажалась 100%
Следующие функции работают и в активном и в неактивном окне, т.к. посылают команду непосредственно кнопке
Код:
ControlClick("Universal Termsrv.dll Patch", "", "Button1")
ControlSend("Universal Termsrv.dll Patch", "", "Button1", "{space}")


иногда Send подглючивает
Send отправляет нажатия в активное на данный момент окно, поэтому нужно быть уверенным в активности требуемого окна. Для этого используют
Код:
WinWaitActive()
 
Верх