获取是否提升了单独的流程

时间:2016-08-04 20:38:33

标签: c# windows process

为了获得当前进程是否以管理员权限运行,我们使用以下C#代码:

public static bool IsElevated {
    get {
        return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);
    }
}

但是,我试图找出是否提升了另一个单独的进程。

如何以编程方式进行此操作?

1 个答案:

答案 0 :(得分:2)

试试这个:https://stackoverflow.com/a/4497572/3049344

var process = Process.GetProcessesByName("YouProcessName").First();
IntPtr tokenHandle;
if (!OpenProcessToken(process.Handle, TOKEN_READ, out tokenHandle))
{
         throw new ApplicationException("Could not get process token.  Win32 Error Code: " + Marshal.GetLastWin32Error());
}
                             ...