您的位置:首页 > 其它

判断是否已经以管理员权限运行

2016-05-16 18:06 459 查看
判断是否已经以管理员权限运行
//=============================================================================
//
//  IsElevated()
//
BOOL IsElevated() {

BOOL bIsElevated = FALSE;
HANDLE hToken = NULL;

if (!IsVista())
return(FALSE);

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

struct {
DWORD TokenIsElevated;
} /*TOKEN_ELEVATION*/te;
DWORD dwReturnLength = 0;

if (GetTokenInformation(hToken,/*TokenElevation*/20,&te,sizeof(te),&dwReturnLength)) {
if (dwReturnLength == sizeof(te))
bIsElevated = te.TokenIsElevated;
}
CloseHandle(hToken);
}
return bIsElevated;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: