有一种简单的方法可以读取注册表并从那里获取 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/