在Windows 7中自动执行UAC提示

时间:2011-12-16 20:33:09

标签: windows vb.net vbscript uac

跟进此link,我一直在尝试找到解决方案来处理UAC提示。

我需要测试一个提示UAC的应用程序。这是必须的,我需要检查它是否弹出并继续进行。我想自动化这个东西但我找不到解决方案了。

我需要在中执行此操作。

4 个答案:

答案 0 :(得分:1)

这在技术上是可行的。您需要编写一个作为LocalSystem运行的服务。从那里开始在安全的Winlogon桌面上启动帮助程序。从那里你可以安装一个钩子并检查UAC提示并以编程方式单击相应的按钮。这是一项很多工作而且非常痛苦。 Here's an answer前一段时间我会更详细地讨论它。我可能仍然在某处放置代码。

更新:LOL。刚刚注意到我回答了你所链接的问题。我猜你试图在vbscript或vb.net而不是C ++中这样做;这不会起作用。

答案 1 :(得分:1)

我在VBScript和C#/ VB.Net中编写了一个自动化UAC(包括在安全桌面上)的应用程序。它仅用于测试环境中以进行测试自动化(鉴于UAC无处不在,没有它就可以进行测试!)

您可以在这里下载(免费):

http://www.brekit.com/

还有一个关于如何通过使用Manifest并修改您的UAC设置来自动化UAC“Microsoft方式”的链接,以便它不会出现在您的安全桌面上。

答案 2 :(得分:0)

你做不到。

UAC用于确保管理操作需要用户提示。

UAC在活动时禁用vbscript和vb.net。如果您找到解决方法,那么当它被microsoft发现时,它可能会修复漏洞/漏洞。

答案 3 :(得分:-1)

上面给出了简短的答案:不,你不能。

如果您对了解原因感兴趣,请阅读以下内容:

无法“自动化”UAC。用户帐户控制的开发是为了避免恶意软件(病毒,间谍软件,广告软件等)在目标计算机上运行。

它类似于基于* nix的系统(Mac OS X,以及许多Linux发行版)上的权限对话框,它们在需要执行某些需要提升权限的代码时询问您的密码(例如,安装应用程序)。

Windows的问题在于,在以前的版本(Windows XP)中,有害软件很容易在目标计算机上执行代码并危及整个系统。这已经到位,因此用户可以知道某人/某些人在默认情况下需要访问的时间超过他们通常所做的更多。

因此,如果UAC 真的在你的方式,他们只能禁用它(控制面板 - >用户和帐户设置 - >用户帐户控制,并将滑块拖到Windows 7的底部。