VC判断进程是否具有administrator权限的方法_C语言教程-查字典教程网
VC判断进程是否具有administrator权限的方法
VC判断进程是否具有administrator权限的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了VC判断进程是否具有admin权限的方法。是的话返回TRUE,否则为FALSE。分享给大家供大家参考。具体实现方法如下:复制代...

本文实例讲述了VC判断进程是否具有admin权限的方法。是的话返回TRUE,否则为FALSE。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下: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程序设计有所帮助。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C语言学习
    热门C语言学习
    编程开发子分类