获取是否提升了单独的进程
Get whether separate process is elevated
为了获取当前进程是否运行管理员权限,我们使用如下C#代码:
public static bool IsElevated {
get {
return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);
}
}
但是,我正在尝试查找另一个 单独的 进程是否已提升。
我该如何以编程方式执行此操作?
试试这个:
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());
}
...
为了获取当前进程是否运行管理员权限,我们使用如下C#代码:
public static bool IsElevated {
get {
return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);
}
}
但是,我正在尝试查找另一个 单独的 进程是否已提升。
我该如何以编程方式执行此操作?
试试这个:
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());
}
...