Я пытаюсь переместить .hta приложение в исполняемый файл C#. Конечно, так как это - .hta, кодом является весь HTML и Jscript с вызовами к локальным объектам ActiveX.
Я создал исполняемый проект C# и просто использую управление WebBrowser для отображения содержимого HTML. Просто переименованный в .hta к .html и вынул объявления HTA.
Все работает отлично, за исключением того, что, когда я выполняю вызовы к объектам ActiveX, я получаю всплывающее предупреждение безопасности выполнения элемента управления ActiveX на странице.
Я понимаю, почему это происходит, так как управление WebBrowser является по существу IE и использует интернет-настройки безопасности Опций, но является там каким-либо способом получить контроль WebBrowser для обхода всплывающих окон безопасности или способа зарегистрировать исполняемый файл или DLLs, как доверяемый, не имея необходимость изменять настройки в интернет-Опциях? Даже способ сделать на пакете развертывания работал бы также.
WebBrowser
является экземпляром Internet Explorer и наследует настройки безопасности от IE.
Одним из способов могло быть изменение настроек безопасности, определенных в IE.
Другой способ - добавить Custom Security Manager путем реализации интерфейса IInternetSecurityManager
.
Узлы WebBrowser Control или MSHTML могут создать диспетчер безопасности (путем реализации интерфейса IInternetSecurityManager), который обрабатывает действия и политики URL-адресов, которые важны для узла. Другие действия и политики URL-адресов будут переданы диспетчеру безопасности по умолчанию, чтобы он мог обработать их соответствующим образом. Интерфейс IInternetSecurityMgrSite будет использоваться для обработки связанной с Windows информации из компонента, чтобы настроенный диспетчер безопасности мог обрабатывать любой требуемый пользовательский интерфейс. -