管理运行权限VB.NET的测试应用程序

Axe*_*Axe 9 vb.net windows uac

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

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

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

提前致谢

Den*_*aub 19

C#:

using System.Security.Principal;

...

var identity = WindowsIdentity.GetCurrent();
var principal = new WindowsPrincipal(identity);
bool isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);
Run Code Online (Sandbox Code Playgroud)

VB.Net:

Imports System.Security.Principal

...

Dim identity = WindowsIdentity.GetCurrent()
Dim principal = new WindowsPrincipal(identity)
Dim isElevated as Boolean = principal.IsInRole(WindowsBuiltInRole.Administrator)
Run Code Online (Sandbox Code Playgroud)

  • 在VB.Net中甚至有一个快捷方式:`如果My.User.IsInRole(ApplicationServices.BuiltInRole.Administrator)那么...` (4认同)