c - 不读取注册表的 UAC 状态

标签 c windows uac

有一种简单的方法可以读取注册表并从那里获取 UAC 状态。唯一的问题是,如果您不是管理员用户或 UAC 处于开启状态,那么您将无法读取该特定 key 。

有没有一种方法(API 等)无需读取注册表即可准确获取 UAC 状态?

示例代码总是受到赞赏。 谢谢!

杰西

编辑: 我要开始赏金了。如果你要回答,请不要告诉我我不应该关心 UAC 状态,代码应该独立于 UAC 以及微软如何如此好。

最佳答案

来自互联网:

HANDLE tokenHandle; 
OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &tokenHandle); 

DWORD tokenInformationBufferLength = 0; 
TOKEN_ELEVATION_TYPE tokenElevation;
GetTokenInformation(tokenHandle, TokenElevationType, &tokenElevation, sizeof(tokenElevation), &tokenInformationBufferLength); 

关于c - 不读取注册表的 UAC 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1947266/

相关文章:

windows - Vista UAC - 无法映射网络驱动器

c# - 如何判断请求的目录是否可写?

c - 数组百分比算法实现

c# - 如何在 C 中初始化多维字符数组?

c - 希尔排序函数未对数组进行完全排序

c - 在 Delphi 中加入 16 位整数以生成 32 位整数?

windows - 批处理文件中的文件早于 4 分钟

windows - 使用 CMake 在 Windows 上静态链接 Qt

windows - 如何运行目录和子目录下的所有批处理文件?

uac - Vista 中的 "An unidentified program wants to access your computer"