MFC 判断程序是否是高权

BOOL IsAdministrator()

{

BOOL bIsElevated = FALSE;

HANDLE hToken = NULL;

if (OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken))

{

DWORD dwReturnLength = 0;

TOKEN_ELEVATION te;

if (GetTokenInformation(hToken,(_TOKEN_INFORMATION_CLASS)TokenElevation, &te, sizeof(te), &dwReturnLength)) {

if (dwReturnLength == sizeof(te))

bIsElevated = te.TokenIsElevated;

}

CloseHandle(hToken);

}

return bIsElevated;

}

if (IsAdministrator())

{

//AfxMessageBox(_T("IsAdministrator true"));

}

else

{

AfxMessageBox(_T("Please run with administrator privileges."));

return FALSE;

}

相关推荐
知识分享小能手1 小时前
C++ 学习教程,从入门到精通,C++对象和类 — 详细知识点总结(10)
开发语言·c++·学习
顺顺 尼1 小时前
linux 进程信号(上)
linux·c++·算法
海上小飞龙2 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
java·c++·python
Persistent的粽子!3 小时前
双指针算法:最大盛水容器
c++·算法·leetcode
小小龙学IT3 小时前
三菱 PLC MC 协议(SLMP / QnA 兼容 3E 帧)深度解析:从帧结构到 C++/Go 双语言采集实战
c语言·c++·golang
程序猿编码3 小时前
C++/CUDA 手写 LLM 推理引擎:拆解 vLLM 核心 PagedAttention 与连续批处理
开发语言·c++·深度学习·神经网络·推理·vllm
hold?fish:palm3 小时前
44 二叉搜索树中第K小的元素
开发语言·c++·算法
凉茶钱3 小时前
【吃透C++】万字解析类和对象
开发语言·c++
白杨尚青4 小时前
C++入门篇(十):string(上)——认识string:构造与三大遍历(一条龙讲透operator[]、迭代器、auto、范围for)
java·开发语言·c++·笔记·stl
FlightYe4 小时前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac