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;

}

相关推荐
Azxcc01 小时前
C++异步编程入门
开发语言·c++
吐泡泡_1 小时前
C++(STL源码刨析/vector)
c++
你的冰西瓜1 小时前
C++排序算法全解析(加强版)
c++·算法·排序算法
特立独行的猫a2 小时前
11款常用C++在线编译与运行平台推荐与对比
java·开发语言·c++
笑鸿的学习笔记2 小时前
qt-C++笔记之setCentralWidget的使用
c++·笔记·qt
苏克贝塔3 小时前
Qt 图形视图框架3-事件处理与传播
c++·qt
轩情吖3 小时前
Qt的信号与槽(二)
数据库·c++·qt·信号·connect·信号槽·
胖大和尚3 小时前
C++项目学习计划
开发语言·c++·学习
GiraKoo5 小时前
【GiraKoo】 C++20的新特性
c++
无聊的小坏坏5 小时前
力扣 239 题:滑动窗口最大值的两种高效解法
c++·算法·leetcode