源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

VC判断进程是否具有administrator权限的方法

  • 时间:2022-02-24 06:09 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:VC判断进程是否具有administrator权限的方法
本文实例讲述了VC判断进程是否具有admin权限的方法。是的话返回TRUE,否则为FALSE。分享给大家供大家参考。具体实现方法如下:
[u]复制代码[/u] 代码如下:
static BOOL IsAdmin(void)  {       HANDLE                   hAccessToken;       BYTE                     InfoBuffer[1024];          PTOKEN_GROUPS            ptgGroups;       DWORD                    dwInfoBufferSize;       PSID                     psidAdministrators;       SID_IDENTIFIER_AUTHORITY siaNtAuthority = SECURITY_NT_AUTHORITY;       UINT                     i;       BOOL                     bRet = FALSE;          if(!OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY,&hAccessToken))         return bRet;                bRet = GetTokenInformation(hAccessToken, TokenGroups, InfoBuffer, 1024, &dwInfoBufferSize);      CloseHandle(hAccessToken);       if(!bRet)          return bRet;      if(!AllocateAndInitializeSid(&siaNtAuthority,                                    2,                                    SECURITY_BUILTIN_DOMAIN_RID,                                    DOMAIN_ALIAS_RID_ADMINS,                                    0,0,0,0,0,0,                                    &psidAdministrators))                   return FALSE;                                       bRet = FALSE;          ptgGroups = (PTOKEN_GROUPS)InfoBuffer;       for(i=0;i<ptgGroups->GroupCount;i++)                if(EqualSid(psidAdministrators,ptgGroups->Groups[i].Sid))                     bRet = TRUE;                       FreeSid(psidAdministrators);        return bRet; }
希望本文所述对大家的VC程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部