以编程方式更改Internet Explorer设置?

kak*_*ppa 7 .net c# windows internet-explorer

知道如何使用C#执行以下操作?

  1. 即将 Tools -> Internet Options -> Security
  2. 选择Security选项卡
  3. 单击Custom Level按钮
  4. Miscellaneous更改Display mixed content为的部分中Enable

Eri*_*Law 12

这样做的"欺骗"方法是改变价值

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1609 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1\1609 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2\1609 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1609 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\4\1609

其中0-4是区域标识符,值为0表示允许,1表示提示,3表示阻止.请记住,如果您的代码在任何人的计算机上执行此操作,而您自己的代码,您可能会发现您的代码被阻止为恶意软件.

执行此操作的"正确"方法是使用API​​创建IInternetZoneManager并调用SetZoneActionPolicy以调整要调整的区域中URLACTION_HTML_MIXED_CONTENT的设置.

  • 可以在[此处](http://support.microsoft.com/kb/182569)找到所有注册表值的列表和每个注释表的说明.另请注意,每个区域代表一个独特的_security zone_.`Zone 3`是`Internet Zone`. (2认同)

Cod*_*ray 5

你不应该"以编程方式"这样做.这就是没有API的原因.只有用户可以更改其安全设置,并且他们使用您已经发现的内置界面来执行此操作.

糟糕的IE团队一直在加班加点,试图加强浏览器的安全性.他们不会投入这样的东西,这会在几秒钟内使他们的所有努力无效.
回想一下,即使选择了此选项,也会出现一个确认对话框.您如何建议以编程方式"点击"?(嗯,第二个想法,不要告诉我.这可能是你要问的下一个问题.)

放弃尝试以编程方式执行此操作,并要求用户自己执行此操作.提供完整的帮助文件或其他文档,说明您要求他们进行此更改的原因,如果他们不选择进行此更改将会提供哪些功能,以及进行此类更改可能带来的安全风险.当然,还有关于如何进行更改的具体说明.

或者,更好的是,重新设计您的应用程序,以便它不需要在系统范围内修改IE的安全设置.很难想象这是一个合法的案例.更好的解决方案可能是要求用户将您的网站添加到其"受信任的网站".请记住,默认情况下,本地页面的安全设置与远程页面不同.