C # WebBrowser Control Расширенный защищенный режим - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь получить доступ к веб-странице (которая не находится под моим контролем), а именно песочница allscripts через элемент управления WebBrowser.Internet Explorer моего компьютера правильно настроен для указанной веб-страницы (добавлено на доверенных сайтах, разрешено и установлено все дополнения active-x, работает в режиме совместимости и т. Д.).

Элемент управления веб-браузера отображает следующую ошибку:

На этой веб-странице требуется запустить «Некоторый элемент управления ActiveX», который не совместим с расширенными функциями безопасности Internet Explorer.Если вы доверяете этому сайту, вы можете отключить расширенный защищенный режим для этого сайта и разрешить запуск элемента управления.

Я не включил (насколько мне известно) расширенный защищенный режим.

При попытке игнорировать ошибки и продолжить вход в систему отображается сообщение

Не удалось инициализировать контейнер Centricity для страниц на основе .NET.Убедитесь, что ваша среда .NET настроена на предоставление полного доверия этому веб-сайту.

Выше было также ошибка в IE по умолчанию, пока я не запустил команду %WINDIR%\Microsoft.NET\Framework\v2.0.50727\caspol -q -m -cg Trusted_Zone FullTrust.

Я пробовал различные ключи реестра, но ни один из них не работал.
Я также пытался реализовать пользовательский IInternetSecurityManager, который отображает все URL-адреса в зону Trusted и возвращает URLPOLICY_ALLOW при всех вызовах ProcessUrlAction.

Любое предложение будет оценено.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Элемент управления веб-браузера ie11 обернут комп-оберткой, которая дросселирует обратно ie11 в режим ie7.Я думаю, что там не так много всего, что могло бы вызвать вашу проблему.

Поскольку эта страница работает для вас, когда вы запускаете ie11 извне, то наиболее вероятным объяснением, по-видимому, является ваша попытка принудительно установить контроль в ie11режим это проблема.Я советую вам попробовать код Mentor здесь:

Установить для управления веб-браузером WPF режим IE10

, который автоматизирует добавление имени работающей программы в реестр.

var pricipal = new System.Security.Principal.WindowsPrincipal(
 System.Security.Principal.WindowsIdentity.GetCurrent());
 if(pricipal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator)) {
    RegistryKey registrybrowser = Registry.LocalMachine.OpenSubKey
     (@"Software\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION", true);
string myProgramName = Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location);
var currentValue = registrybrowser.GetValue(myProgramName);
if (currentValue == null || (int)currentValue != 0x00002af9)
    registrybrowser.SetValue(myProgramName, 0x00002af9, RegistryValueKind.DWord);
}
else
this.Title += " ( Первый раз запускать с правами админа )";
0 голосов
/ 10 декабря 2018

Проблема может заключаться в том, что веб-браузер по умолчанию использует старую версию IE.Взгляните на Используйте последнюю версию Internet Explorer в элементе управления веб-браузера

...