Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Нажать кнопку Yes в окне Security Alert в IE (http://forum.oszone.net/showthread.php?t=348952)

Sisin 07-06-2021 22:59 2959677

Нажать кнопку Yes в окне Security Alert в IE
 
Подскажите, пожалуйста, можно ли с помощью VBS нажать кнопку Yes в окне Security Alert в IE:


PS: Именно нажать!! Не отключить предупреждения в реестре, не использовать другой браузер, именно нажать!

Iska 08-06-2021 06:14 2959685

Sisin, чтобы с гарантией — нет, нельзя. «Копайте» в сторону AutoIt, если сильно нужно.

Sisin 08-06-2021 10:37 2959704

Iska, а без гарантии?

greg zakharov 08-06-2021 20:32 2959747

Sisin, а без гарантий только гарантия без гарантии. А ежели сурьёзно и аведно стрекать на перстах, то чай ведь IE, а там всё на COM построено. Пошукайте OLEView его компоненты, может чаво сыщите. Что же касается простоты, Iska прав. Хотя и на pwsh можно запилить кликер.

Iska 08-06-2021 22:34 2959759

Цитата:

Цитата Sisin
Iska, а без гарантии? »

Без гарантии?! Хорошо. Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна?

greg zakharov 08-06-2021 22:53 2959763

Цитата:

Цитата Iska
Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна?

О, здесь простор для фантазии не столь велик! Скорее всего по заголовку. Хотя помнится что-то было в COM у IE связанное с PopUp, токмо тяжко припомнить сие.

Iska 08-06-2021 23:09 2959768

greg zakharov, так заголовок-то, насколько я помню, тот же останется — «… — Internet Explorer».

greg zakharov 08-06-2021 23:55 2959774

Iska, за давностью лет и относительно небольшим опытом общения с IE сложно вспомнить, но вроде бы да.

Sisin 17-06-2021 01:14 2960447

Цитата:

Цитата Iska
Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна? »

Через hWnd окна с 3-х секундной задержкой.

Iska 17-06-2021 02:27 2960451

Sisin, код в студию ;)!

Sisin 17-06-2021 22:56 2960495

У меня так работает:

Код:

Set WshShell = CreateObject("WScript.Shell")
act_success = WshShell.AppActivate("Security Alert")
if (act_success) then
WScript.Sleep(300)
WshShell.SendKeys "^{TAB}"
WScript.Sleep(100)
WshShell.SendKeys "^{ENTER}"
End if

Как сделать через цикл, чтобы ждал появления окна, а потом один раз нажимал кнопки?

Iska 18-06-2021 05:14 2960505

«Нажимал на кнопки» — никак, нет такого функционала. .SendKeys() отсылает оконной процедуре активного окна сообщения о якобы нажатых клавишах.
Код:

Set WshShell = CreateObject("WScript.Shell")

Do
        WScript.Sleep 500
Loop Until WshShell.AppActivate("Security Alert")


WScript.Sleep(300)
WshShell.SendKeys "^{TAB}"
WScript.Sleep(100)
WshShell.SendKeys "^{ENTER}"


Sisin 18-06-2021 08:41 2960508

Цитата:

Цитата Iska
«Нажимал на кнопки» — никак, нет такого функционала. .SendKeys() отсылает оконной процедуре активного окна сообщения о якобы нажатых клавишах. »

Пару дней погонял, работает без сбоев.

Sisin 18-06-2021 20:15 2960528

У меня работает только с:
Код:

Loop until WshShell.AppActivate("Security Alert")

Iska 19-06-2021 01:46 2960546

Sisin, конечно же, Do … Loop Until …. Поправил выше.


Время: 16:49.

Время: 16:49.
© OSzone.net 2001-