1

我有一个普通用户可以运行的 exe,但它需要合并一个REG文件,这需要 UAC 弹出窗口询问管理员密码,我不想提供给用户。

有没有办法让我输入密码,process.StartInfo这样 UAC 就不必询问密码了?

如果我这样做:

process.StartInfo.Domain    = "XYZ";
process.StartInfo.UserName  = "admin";
process.StartInfo.Password  = "";

它告诉我我需要被提升。

我还尝试冒充管理员帐户,然后:

process.StartInfo.Verb      = "runas";
process.start() 

但它会崩溃:

未处理的异常:System.ComponentModel.Win32Exception:未知错误 (0xffffffffe)

4

1 回答 1

1

不,你不能那样做。如果您可以轻松绕过 UAC,那将毫无意义。

问题是即使您知道密码,安全令牌也是使用已删除的权限创建的。当您登录 Windows 时会发生这种情况:您提供了用户名和密码,但您没有立即获得所有管理员权限,您必须通过 UAC 确认来提升权限。

于 2012-09-12T06:01:25.447 回答