如何在Windows中透明地以管理员身份执行任务

时间:2013-01-05 21:10:15

标签: c# c++ windows winapi

我想在某些高程情况下(以编程方式)模拟Windows的行为。例如,您可以看到无线密码,而无需向管理员确认高程(在“无线网络属性”>“显示字符”中)。

在这种情况下,没有窗口弹出来请求确认提升。只有一个友好的图标,表明该操作需要用户成为管理员。

1 个答案:

答案 0 :(得分:3)

在某些情况下没有弹出窗口的原因是UAC自动提升。

以下是Mark Russinovich撰写的this article的摘录

  

两个中间设置中(大多数)Windows可执行文件的提升不会导致提示的原因是系统“自动提升”Windows可执行文件。首先,Windows在此上下文中定义为Windows可执行文件?答案取决于几个因素,但必须有两件事:它必须由Windows发布者进行数字签名,这是用于签署Windows附带的所有代码的证书(它不足以由Microsoft签名,因此Microsoft软件不是在Windows中发货不包括在内);它必须位于少数“安全”目录之一。

这意味着您的可执行文件必须由Microsoft签名,并且必须位于这些“安全”目录中。 Windows不会自动提升所有内容。