2010-10-19 48 views
2

我们已经开发了一个ie-add(附加表达式),用于在本地保存一些信息。 (到应用程序路径)但没有“以管理员身份运行”或“禁用保护模式”,这是不允许的。IE保护模式有问题?

有什么办法可以做到这一点?任何方式加载管理员privilige加载项? (清单文件不适用于dll)或以任何方式通过用户批准禁用保护模式?

谢谢!

+0

你真的需要写在那里吗?某些目录(如本地用户应用程序数据文件夹)可以在受保护的模式下访问,并且应该用于根据Microsoft的应用程序设置。 – 2010-10-19 09:41:37

+0

不幸的是...有一个嵌入式数据库复制到应用程序本地等有什么方法可以在用户批准后以编程方式禁用保护模式? – 2010-10-19 10:23:28

+0

@EkinOzcicekciler不要听那些说不可能的人,这些人不明白一切都是可能的。看看我的答案,它应该回答你的问题。 – 2012-08-26 18:59:30

回答

2

这里是解决方案:

火起来regedit并转到此项:

HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones 

在我的机器(Windows 7)中的本地系统帐户是S-1-5-18。这可能对所有版本的Windows都是一样的,但我不知道这一点。

在该注册表项中,还有五个密钥1,2,3,4和5 - 每个代表一个区域。

对于每个区域,如果DWORD值的名称为"2500",请将其值设置为0以关闭保护模式。请注意,如果不存在,则不必添加它。

"2500"应该控制勾选框“启用保护模式”。

或者,如果您只想更改当前用户的保护模式设置,请转到上述注册表项的HKEY_CURRENT_USER版本,我认为可能还有一个用于HKEY_LOCAL_MACHINE(随时检查)并使用任意一个你比较喜欢。

+0

我正在使用Erx_VB.NExT.Coder在他的回答中提到的类似解决方案。唯一的例外是对于我来说,值0会检查框,值3会取消选中该框。代码是AutoIT; RegWrite(“HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones \ 1”,“2500”,“REG_DWORD”,0) – josephbales 2014-05-08 13:47:18

+0

仅当前用户在本地Intranet区域打开保护模式当我改变了HKEY_CURRENT_USER版本(忽略了S-1-5-18)。在Server 2003上 – 2014-12-09 08:47:23