测试行政运行权利的应用程序

时间:2011-05-23 15:05:45

标签: windows vb.net uac

我想要一个确定的方法来测试应用程序是否通过UAC框运行并具有完全管理权限。早些时候,我曾想过在C:\ Windows \中创建一个文件夹进行测试,但在其他计算机上运行它被证明是失败的!

UAC框为计算机提供了执行任何操作的所有管理权限(包括在需要权限的位置创建文件夹和创建文件),并确保所谓的或创建的任何子程序也具有与之相同的权限。父节点。

是否有一种可靠的方法来测试我的应用程序是否已经提供了用户在运行应用程序时最大程度上获得的所有管理权限?如果是的话,我很乐意接受代码工作!

1 个答案:

答案 0 :(得分:19)

C#:

using System.Security.Principal;

...

var identity = WindowsIdentity.GetCurrent();
var principal = new WindowsPrincipal(identity);
bool isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);

VB.Net:

Imports System.Security.Principal

...

Dim identity = WindowsIdentity.GetCurrent()
Dim principal = new WindowsPrincipal(identity)
Dim isElevated as Boolean = principal.IsInRole(WindowsBuiltInRole.Administrator)