zoukankan      html  css  js  c++  java
  • 判断当前用户有无Administrator的权限

     

    很方便的一个函数,有兴趣的看看!

    1. /************************************************************************/  
    2. /* 函数说明:判断有无Administrator的权限                                      
    3. /* 参    数:无                                  
    4. /* 返 回 值:成功返回TRUE,否则返回FALSE   
    5. /* By:Koma   2009.07.28 23:30                               
    6. /************************************************************************/  
    7. BOOL IsAdmin()    
    8. {    
    9.     HANDLE hAccessToken;    
    10.     BYTE * InfoBuffer = new BYTE[1024];    
    11.     PTOKEN_GROUPS ptgGroups;    
    12.     DWORD dwInfoBufferSize;    
    13.     PSID psidAdministrators;    
    14.     SID_IDENTIFIER_AUTHORITY siaNtAuthority = SECURITY_NT_AUTHORITY;    
    15.       
    16.     if(!OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY,&hAccessToken))    
    17.     {    
    18.         delete InfoBuffer;    
    19.         return FALSE;    
    20.     }    
    21.       
    22.     if(!GetTokenInformation(hAccessToken,TokenGroups,InfoBuffer,1024,&dwInfoBufferSize))    
    23.     {    
    24.         delete InfoBuffer;    
    25.         CloseHandle(hAccessToken);    
    26.         return FALSE;    
    27.     }    
    28.       
    29.     CloseHandle(hAccessToken);    
    30.       
    31.     if(!AllocateAndInitializeSid(&siaNtAuthority,    
    32.         2,    
    33.         SECURITY_BUILTIN_DOMAIN_RID,    
    34.         DOMAIN_ALIAS_RID_ADMINS,    
    35.         0,0,0,0,0,0,    
    36.         &psidAdministrators))    
    37.     {    
    38.         delete InfoBuffer;    
    39.         return FALSE;    
    40.     }    
    41.       
    42.     ptgGroups = (PTOKEN_GROUPS)InfoBuffer;    
    43.       
    44.     for(UINT i = 0; i < ptgGroups->GroupCount; i++)    
    45.     {    
    46.         if(EqualSid(psidAdministrators,ptgGroups->Groups[i].Sid))    
    47.         {    
    48.             FreeSid(psidAdministrators);    
    49.             delete InfoBuffer;    
    50.             return TRUE;    
    51.         }    
    52.     }    
    53.     return FALSE;    
    54. }   

     

     

     

     

  • 相关阅读:
    弦图点染色问题
    BZOJ1098: [POI2007]办公楼biu
    BZOJ1097: [POI2007]旅游景点atr
    BZOJ1068: [SCOI2007]压缩
    BZOJ1055: [HAOI2008]玩具取名
    BZOJ4199: [Noi2015]品酒大会
    BZOJ2527: [Poi2011]Meteors
    BZOJ1493 [NOI2007]项链工厂
    BZOJ1095 ZJOI2007 Hide 捉迷藏
    bzoj1468 Tree
  • 原文地址:https://www.cnblogs.com/huhu0013/p/3276519.html
Copyright © 2011-2022 走看看