1 2015-07-28 17:21:47 (изменено: manualex, 2015-07-28 17:38:08)
Re: AHK: Закрыть alertBox в Firefox
А в чём затруднение? Судя по картинке, стандартное окошко.
А почему по таймеру, а не по WinWait?
Re: AHK: Закрыть alertBox в Firefox
Необходимые команды:
WinClose - закрыть окно
IfWinExist - проверить существование окна
SetTimer - установить таймер
Re: AHK: Закрыть alertBox в Firefox
Отвечу за автора.
Я написал ему готовый скрипт на отлов по цвету пикселя - там есть всё и таймер и т.д. , но это для другой задачи.
Отлажено, работает проблем нет.
Дальше он попросил меня помочь вот с этим вопросом.
Я попытался эмулировать его ошибку, у меня просто чистое окно с диагностикой ошибки отсутствия инет соединения.
Через скайп попытался помочь.
1. Найти контрол кнопки ОК не удалось, выдаёт окно Firefox, а это окно под alertBox.
2. Кнопка нажимается, ну всё как положено.
3. Окно alertBox содержит хандлер Firefox и текст диагностики + текст ОК.
Я понял, что ничего не понимаю, вот так и родился этот топик.
P.S. Процессы я посмотрел - нету, ну его там и не должно было быть.
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019 Click to Download
5 2015-07-29 01:10:14 (изменено: shiz, 2015-07-29 01:40:53)
Re: AHK: Закрыть alertBox в Firefox
А чем не устраивает такое решение:
Loop {
WinWait Предупреждение ahk_class MozillaDialogClass ahk_exe firefox.exe
, Время ожидания от сервера
WinClose
}
?
6 2015-07-29 01:15:31 (изменено: Indomito, 2015-07-29 01:26:10)
Re: AHK: Закрыть alertBox в Firefox
Завтра, если он будет активен, я в скайпе переберу все возможные варианты + я забыл скрытые окна, может поможет.
Два скришота прислали почтой, что то новенькое.
Запустил AhkSpy. Он нашел коды кнопок:
1. OK (рис.1)
2. Закрыть (рис.2)
Может чем поможет?
Читал твой пост на форуме.
"Почтальон Печкин"© - это я про себя.
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019 Click to Download
7 2015-07-29 01:21:34 (изменено: Malcev, 2015-07-29 01:21:46)
Re: AHK: Закрыть alertBox в Firefox
Если необходимо именно нажать на кнопку, а не просто закрыть окно, то тут обсуждали:
http://forum.script-coding.com/viewtopic.php?id=10570
Re: AHK: Закрыть alertBox в Firefox
Malcev Спасибо, но тут закрытие эквивалент нажатия.
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019 Click to Download
Re: AHK: Закрыть alertBox в Firefox
Спасибо, я так ещё не успел сделать, правда это не от меня зависит.
Докатился:
- ТС - не я;
- посты пишу я.
Но, радует, хоть понятно, что есть, и что я упустил - блин, хотел проще, а получается как всегда.
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019 Click to Download
11 2015-07-29 08:26:18 (изменено: manualex, 2015-07-29 12:32:48)
Re: AHK: Закрыть alertBox в Firefox
Всем спасибо.
Работает так:
Loop {
WinWait Предупреждение ahk_class MozillaDialogClass ahk_exe firefox.exe
WinClose
}
Код оформляется тегом code!
Re: AHK: Закрыть alertBox в Firefox
Чтобы не проверять слишком часто условие, можно поставить задержку:
Loop
{
WinWait, Предупреждение ahk_class MozillaDialogClass ahk_exe firefox.exe
WinClose, Предупреждение ahk_class MozillaDialogClass ahk_exe firefox.exe
Sleep, 250
}
13 2015-07-29 13:10:23 (изменено: shiz, 2015-07-29 16:52:22)
Re: AHK: Закрыть alertBox в Firefox
Работает так
Думаю, параметр WinText не помешал бы — мало ли какие ещё предупреждения выдаёт Firefox.
Чтобы не проверять слишком часто условие, можно поставить задержку
Не думаю, что такое окно должно выскакивать меньше чем через четверть секунды после закрытия. Если да, то от такого совета просто увеличится время его лицезрения до очередного закрытия.
Re: AHK: Закрыть alertBox в Firefox
Я к тому, что Loop - коварная команда. Если внутри цикла нет команд, требующих существенного времени на выполнение, то период цикла быстро завершается, и цикл повторяется заново (особенно, если уменьшить SetBatchLines). Это загружает процессор.
Проще говоря, запустите такой скрипт и посмотрите загрузку процессора:
Loop
{
a := a+1
Sleep, 100
}
Затем сравните со вторым скриптом:
Loop
{
a := a+1
}
У manualex такое скорее всего никогда не случится. Просто я считаю, что лучше заранее всё предусмотреть.
Re: AHK: Закрыть alertBox в Firefox
У manualex такое скорее всего никогда не случится. Просто я считаю, что лучше заранее всё предусмотреть.
я постараюсь всё учесть, т.к. этот скрипт будет фрагментом другого скрипта.
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019 Click to Download
16 2015-07-29 21:40:01 (изменено: Indomito, 2015-07-29 22:02:37)
Re: AHK: Закрыть alertBox в Firefox
Спасибо, я кое что поменял - всё работает у ТС.
Возник дополнительный вопрос по теме.
Как отработать кнопку включение прокси после ошибки в FireFox?
Вот скриншоты и скрипт(вопрос по фрагменту №2).
Скриншоты только по фрагменту №2.
; Фрагмент №1
;-------- Работающий фрагмент-----------
WinWaitActive, Fast Dial - Mozilla Firefox
sleep 50
ControlClick, x206 y33, , , MIDDLE
;--------------------------------------
sleep 500
; Фрагмент №2
;-------- Работающий фрагмент, но только по координатам-----------
WinWaitActive, Fast Dial - Mozilla Firefox
sleep 50
ControlClick, x53 y14 , , , L
;----------------------------------------------------------------
Return
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019 Click to Download
Re: AHK: Закрыть alertBox в Firefox
Через Acc. В 7 посте ссылка.
Re: AHK: Закрыть alertBox в Firefox
Как я понял ты про такую запись.
Send {AppsKey}{down 10}{enter}
По ID элемента, верно?
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019 Click to Download
Re: AHK: Закрыть alertBox в Firefox
Нет. Я про это:
DetectHiddenWindows, On
WinExist("ahk_class µTorrent4823DF041B09")
ControlGet, hwnd, hwnd,, ToolbarWindow322
PressToolBarButton(hwnd, 10)
PressToolBarButton(hwnd, ButtonID)
{
AccObj := AccObjectFromWindow(hwnd, OBJID_CLIENT := 0xFFFFFFFC)
if !IsObject(AccObj) {
MsgBox, Не удалось получить AccObj
Return
}
AccObj.accDoDefaultAction(ButtonID)
}
AccObjectFromWindow(hWnd, idObject = 0)
{
static h
!h ? h := DllCall("LoadLibrary","Str","oleacc","Ptr")
If DllCall("oleacc\AccessibleObjectFromWindow", "Ptr", hWnd, "UInt", idObject&=0xFFFFFFFF
, "Ptr", -VarSetCapacity(IID,16)+NumPut(idObject==0xFFFFFFF0?0x46000000000000C0:0x719B3800AA000C81
,NumPut(idObject==0xFFFFFFF0?0x0000000000020400:0x11CF3C3D618736E0,IID,"Int64"),"Int64"), "Ptr*", pacc)=0
Return ComObjEnwrap(9,pacc,1)
}
20 2015-07-30 01:42:23 (изменено: Indomito, 2015-07-30 01:47:13)
Re: AHK: Закрыть alertBox в Firefox
Ясно, а я то подумал что, уж всё слишком просто.
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019 Click to Download