【问题标题】:get/set Enhanced Protected Mode from c++ code从 C++ 代码获取/设置增强保护模式
【发布时间】:2015-12-25 21:40:53
【问题描述】:

我需要从 C++ 代码中获取并设置在 IE10 及更高版本中启用的“增强保护模式”选项。 我搜索了很多,但所有解决方案都只描述了如何手动执行此操作,而不是从代码中执行此操作,但我需要在 IE 插件的安装程序中执行此操作。

通过注册表、WMI 或控制台命令解决此问题的任何其他解决方案也非常有趣。

有人可以帮忙解决这个问题吗?

【问题讨论】:

    标签: internet-explorer internet-explorer-10


    【解决方案1】:

    警告:这不是受支持的行为,这样做可能会使您的代码被 AV 产品或 Microsoft 的 SmartScreen 标记为恶意软件。

    Internet 控制面板中的“启用增强保护模式”复选框由注册表项下的 Isolation 值控制:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main。如果应该使用 AppContainers (EPM),它包含值 PMEM,或者如果应该使用非 EPM 完整性级别 (IL)(IE10 的默认值),它包含值 PMIL。没有 API 可以设置此值,因为不支持这样做。

    保护模式本身在每个区域的基础上启用或禁用; URLMon API SetZoneActionPolicy 用于调整区域的设置(用于URLAction_LOWRIGHTS)以启用或禁用该区域的保护模式。

    【讨论】:

    • 非常感谢! named Isolation 的值具有您所描述的 PMEMPMIL。至少我可以检查这个值并提供给用户在需要时手动更改它。
    • 在干净的 Windows 8.1 安装(IE11 附带)上,Isolation 键不再存在。
    • 您尝试更改设置了吗?
    • 默认没有条目。 8.1 / IE11 出厂时的行为就像默认 PMEM 一样......但是发布了一个补丁以使其默认将其视为 PMIL。
    【解决方案2】:

    从 8.0 更新到 8.1 并且没有“隔离”键值名称。但是启用了“启用增强保护模式”。看起来如果“隔离”值名称不存在,它与将值设置为 PMEM 具有相同的效果。键值在您取消选中“启用增强保护模式”时创建,并在您每次切换设置时更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      • 2014-03-09
      相关资源
      最近更新 更多