0

在打开我的主应用程序屏幕之前,我必须获得当前用户权限。因为我想确保只有管理员用户(在独立 PC 中)正在使用该应用程序。我已经尝试过以下代码,但它不适用于 Windows 7(尚未在 XP 和其他系统中尝试过)。

Dim identity = WindowsIdentity.GetCurrent()
Dim principal = New WindowsPrincipal(identity)
Dim isElevated As Boolean = principal.IsInRole(WindowsBuiltInRole.Administrator)
Return isElevated

是否有任何其他类的功能我需要参考。已经很久了,我不知道出了什么问题。请帮忙。我需要它在 Windows XP、Windows Vista、Windows 7 上工作,如果可能的话也可以在 Windows 8 上工作。

4

1 回答 1

0

下面的代码片段在 Windows7 中为我工作。请你试试看。谢谢

public static bool IsAdminUser()
{
     bool isAdmin = false;
     AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
     WindowsPrincipal principal = (WindowsPrincipal)System.Threading.Thread.CurrentPrincipal;
     WindowsIdentity identity = (WindowsIdentity)principal.Identity;
     isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
     return isAdmin;
}
于 2013-08-22T19:44:08.930 回答