我希望在以管理员身份运行进程时显示一些额外的UI元素,而不是在不运行时显示一些UI元素,类似于Visual Studio 2008在以管理员身份运行时在其标题栏中显示"管理员"的方式.我该怎么说?
如何正确检查进程是否以管理权限运行?
我IsUserAnAdim在MSDN中检查了该功能,但不推荐使用它,因为它可能在后续版本的Windows中被更改或不可用.相反,建议使用该CheckTokenMembership功能.
然后我从CheckTokenMembership功能描述中查看了MSDN中的替代示例.但是,Stefan Ozminski在MSDN中的评论提到,如果禁用UAC,此示例在Windows Vista中无法正常工作.
最后,我尝试使用来自MSDN的Stefan Ozminski的代码,但它确定该进程具有管理权限,即使我在没有Windows 7管理权限的普通用户下启动它也是如此.
我需要确定我的程序是否以完全管理员权限运行.我的意思是,如果打开uac(对于win vista/7),我需要确定该程序是否实际具有管理员权限(如果用户右键单击并选择"作为管理员运行")并且不受uac限制.我如何在C++中执行此操作?
我看到了IsInRole方法但我无法找到有关如何在C++中使用它的信息.
c++ ×3
uac ×2
winapi ×2
.net ×1
c# ×1
detect ×1
privileges ×1
process ×1
visual-c++ ×1
windows ×1