检测IE是否在保护模式下启动进程

时间:2010-08-18 15:08:32

标签: delphi internet-explorer uac sandbox

我正在编写一个程序,用于简化应用程序安装程序的下载。该应用程序非常简单:它只是要求BITS子系统从网上下载ZIP并在用户桌面上解压缩并运行第二阶段安装程序(我们的想法是,我们的许多最终用户都太愚蠢了信赖ZIP下载链接以及如何安装程序的说明。

现在,如果用户在Vista / 7中运行IE 7+,启用了UAC并选择“执行”而不是“另存为”,则程序将失败。实际上,由于IE的保护模式,所有写入文件系统或注册表的尝试都会失败。

为了解决这个问题,我已经标记了可执行文件以触发UAC提示,这可以正常工作。但是,即使不需要该触发器,它现在也会触发提示:该程序旨在在后台执行下载,如果用户在完成之前关闭其会话,则恢复下载。现在,每次启动可执行文件时都会触发UAC提示符。

我想检测一下我在沙盒中运行的事实,在这种情况下,重启过程,这次是UAC提示(很容易做到)。但是,我不知道如何检测到这种情况,而不是试图写入注册表。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)