我有一个应用程序需要检测它是否以提升的权限运行.我目前的代码设置如下:
static bool IsAdministrator()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole (WindowsBuiltInRole.Administrator);
}
Run Code Online (Sandbox Code Playgroud)
这可以检测用户是否是管理员,但如果以没有提升的管理员身份运行则不起作用.(例如在vshost.exe中).
如何判断高程是否[已经生效或]可能?
我需要确定我的程序是否以完全管理员权限运行.我的意思是,如果打开uac(对于win vista/7),我需要确定该程序是否实际具有管理员权限(如果用户右键单击并选择"作为管理员运行")并且不受uac限制.我如何在C++中执行此操作?
如何检查我的C++程序是否以管理员权限运行?
我是以这种方式批量做的
set fold=%random%
mkdir "C:\Windows\%fold%"
if errorlevel 1 (
goto Tag1
)
goto Tag2
Run Code Online (Sandbox Code Playgroud)
但我不能对C++使用相同的东西,因为我不知道如何将变量1的%random%的值传递给%fold%的变量2,而且,我不知道C++是否存在错误级别.
在这种情况下,任何人都可以帮助我,或者有没有办法检查我的程序是否以管理员权限运行?