vc判断计算机用户是否激活,VC判断进程是否具有administrator权限的方法

本文实例讲述了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;iGroupCount;i++)

if(EqualSid(psidAdministrators,ptgGroups->Groups[i].Sid))

bRet = TRUE;

FreeSid(psidAdministrators);

return bRet;

}

希望本文所述对大家的VC程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值