Mozilla Firefox/ В ринципе Ctrl+F5 во всех должен обновлятьmadmasles сказал(а):
Send() отправляет нажатие в активное на момент вызова окно. У вас окно FireFox постоянно активно?не работает
Да, постоянно активно.У вас окно FireFox постоянно активно?
AdlibRegister("obnov", 1*60*1000)
Opt("WinTitleMatchMode", 2)
While Sleep(1000)
WEnd
Func obnov()
ControlSend("- Mozilla Firefox", "", "", "{F5}")
EndFunc
Точно, про скобки забыл совсем Всё работает. За неактивное окно, отдельное спасибо!InnI сказал(а):dimcomp
У вас в Send() отсутствуют скобки.
AdlibRegister("obnov", 1*60*1000)
Opt("WinTitleMatchMode", 2)
While Sleep(1000)
WEnd
Func obnov()
Opt("WinTitleMatchMode", 2)
ControlSend("- Yandex", "", "", "{F5}")
EndFunc
Opt("WinTitleMatchMode", 2)
$hWnd = WinWait(" - Yandex")
ControlSend($hWnd, "", "Chrome_RenderWidgetHostHWND1", "{F5}")
Sleep(2000)
Opt("WinTitleMatchMode", 2)
$hWnd = WinGetHandle("- Yandex") ;
$hControl = ControlGetHandle($hWnd, "", "Chrome_RenderWidgetHostHWND1")
ControlSend($hWnd, "", $hControl, "{^F5}")
Sleep (2000)
Opt("WinTitleMatchMode", 2)
$hWnd = WinGetHandle("Русское сообщество AutoIt - Главная страница") ;
$hControl = ControlGetHandle($hWnd, "", "Chrome_RenderWidgetHostHWND1")
ControlSend($hWnd, "", "Chrome_RenderWidgetHostHWND1", "{F5}")
Sleep(2000)
Opt("WinTitleMatchMode", 2)
$hWnd = WinWait("Русское сообщество AutoIt - Главная страница")
ControlSend($hWnd, "", "Chrome_RenderWidgetHostHWND1", "{F5}")
Sleep(2000)
AdlibRegister("obnov", 60*1000)
While Sleep(1000)
WEnd
Func obnov()
$aList = WinList('[REGEXPCLASS:(?i)Chrome]')
If $aList[0][0] Then
For $i = 1 To $aList[0][0]
If $aList[$i][0] Then
WinActivate($aList[$i][1])
ControlSend($aList[$i][1], '', '', '{F5}')
EndIf
Next
EndIf
EndFunc
Все работает (и не только для Yandex), но только с частотой в 1 минуту.Dessan сказал(а):...Скопировал как есть - ничего не работает.
Этот активирует. Иначе не получилось.Dessan сказал(а):... Мне всего-то нужно F5 отправить в неактивное окно и чтоб оно не забирало фокус...
С этим кодом фокус бегает между двух окон и обновляет циклично каждое. Мне больше подходит для одного окна и единоразово:Alofa сказал(а):Код:AdlibRegister("obnov", 60*1000) While Sleep(1000) WEnd Func obnov() $aList = WinList('[REGEXPCLASS:(?i)Chrome]') If $aList[0][0] Then For $i = 1 To $aList[0][0] If $aList[$i][0] Then WinActivate($aList[$i][1]) ControlSend($aList[$i][1], '', '', '{F5}') EndIf Next EndIf EndFunc
Func obnov()
$aList = WinList('[REGEXPCLASS:(?i)Chrome]') ;делает активным окно одного из браузеров
If $aList[0][0] Then ; возвращает количество окон
For $i = 1 To $aList[0][0]
If StringRegExp($aList[$i][0], "[Автоматизация] Как обновить окно браузера через определённое время?") = 1 Then
WinActivate($aList[$i][1])
ControlSend($aList[$i][1], '', '', '{F5}')
TrayTip("F5", "Обновлено", 2, 1)
EndIf
Next
EndIf
EndFunc ;==>obnov
В сторону замены браузера. IE, Firefox, Maxthon прекрасно обновляются в фоне. А Maxthon ещё умеет обновлять вкладки автоматически: клик ПКМ по вкладке, пункт меню "Автообновление".в какую сторону смотреть?
Между прочим, вы продолжили тему, в которой данная проблема решена именно для Firefox. Ответ #6 перечитайте.работает с FireFox, но окно делается активным во время обновления. ControlSend вообще не работает
While 1
Opt("WinTitleMatchMode", 2)
$hWnd = WinGetHandle("[Автоматизация] Как обновить окно браузера через определённое время? – Mozilla Firefox") ;
$hControl = ControlGetHandle($hWnd, "", "[CLASS:MozillaWindowClass; INSTANCE:1]")
ControlSend($hWnd, "", $hControl, "{^F5}")
Sleep(3000)
WEnd
ControlSend("- Mozilla Firefox", "", "", "{F5}")