VB. NET SHDocVw.InternetExplorer: Windows Всплывающее окно безопасности - PullRequest
0 голосов
/ 23 января 2020

Здравствуйте. Я использую Inte rnet Режим безголового обозревателя для выполнения автоматических задач в моем сценарии, но я сталкиваюсь с проблемой, когда иногда при просмотре на некоторых страницах появляются всплывающие окна аутентификации, которые появляются для входа на страницу, но не через всплывающее окно HTML, но больше всплывающего окна windows.

Я хотел получить контроль над всплывающим окном, поэтому, когда оно всплывает, оно будет видно на TOP. Прямо сейчас это очень случайно, иногда оно отображается поверх всех программ, но иногда это далеко в фоновом режиме, а затем происходит сбой автоматизации, потому что пользователь не видит всплывающее окно.

Жесткое кодирование имени пользователя и пароля не вариант.

Кто-нибудь знает, как я могу управлять всплывающим окном (см. Захват во вложении) и, в конце концов, по крайней мере, поместить его в верхней части экрана?

Спасибо!

Windows Security Popup

1 Ответ

0 голосов
/ 24 января 2020

Решение:

Public Sub New()

        ' This call is required by the designer.
        InitializeComponent()

        Automation.AddAutomationEventHandler(WindowPattern.WindowOpenedEvent, AutomationElement.RootElement,
           TreeScope.Subtree,
           Sub(UIElm, evt)
           Dim element As AutomationElement = TryCast(UIElm, AutomationElement)
           If element Is Nothing Then Return
              Dim NativeHandle As IntPtr = CType(element.Current.NativeWindowHandle, IntPtr)
              If InStr(element.Current.Name, "Windows Security") > 0 Then
                    AppActivate(element.Current.ProcessId)
              End If

        End Sub)
    End Sub
...