Yahoo "Белый экран" с объектом WebBrowser - PullRequest
1 голос
/ 25 июня 2009

Использование элемента управления Microsoft .NET WebBrowser иногда приводит к появлению белого экрана. Yahoo.com является отличным примером веб-сайта, который делает это в зависимости от настроек IE. Я обнаружил, что, изменяя параметры обозревателя в Internet Explorer, те же самые параметры также влияют на объект WebBrowser и позволяют объекту WebBrowser «видеть» Yahoo должным образом.

Мой вопрос: как написать код для временного изменения настроек Internet Explorer, а затем изменить их после? Я понимаю, что здесь присутствуют все виды проблем безопасности. Я просто не нашел способ изменить настройки только для экземпляра объекта WebBrowser. Только когда я изменяю безопасность на высокий в глобальном масштабе, она работает. Мне также может быть интересно переключить бит Enable Protected Mode глобально, если это возможно.

Мне все равно, если это вызывает предупреждение безопасности в Vista. Я имею в виду, очевидно, что пользователю придется очистить программу для доступа администратора к этим типам настроек.

Спасибо!

-Крис.

1 Ответ

1 голос
/ 26 июня 2009

Изменение настроек безопасности IE - неправильный путь; среди прочего, OneCare, центр безопасности и другие вещи будут жаловаться, и пользователь будет в опасности.

Вместо этого вам нужно внедрить IInternetSecurityManager и указать вашему элементу управления веб-браузера использовать менеджер безопасности, который вы внедрили. Ваша функция ProcessURLAction будет вызываться для каждого решения по безопасности, и вы можете вернуть любой результат (Enable / Disable / Prompt), наиболее подходящий для вашего приложения.

...