如何检测我的进程是否正在运行 UAC 提升的进程?

2024-02-15

我的 Vista 应用程序需要知道用户是否以“管理员”身份(提升权限)或标准用户(非提升权限)启动它。我如何在运行时检测到这一点?


对于我们这些使用 C# 工作的人来说,在 Windows SDK 中,有一个“UACDemo”应用程序作为“跨技术示例”的一部分。他们使用以下方法查找当前用户是否是管理员:

private bool IsAdministrator
{
    get
    {
        WindowsIdentity wi = WindowsIdentity.GetCurrent();
        WindowsPrincipal wp = new WindowsPrincipal(wi);

        return wp.IsInRole(WindowsBuiltInRole.Administrator);
    }
}

(注:我将原始代码重构为属性,而不是“if”语句)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测我的进程是否正在运行 UAC 提升的进程? 的相关文章

随机推荐