登錄Administrator |
答題得分者是:RaynorPao
|
JosephLiu77
一般會員 發表:11 回覆:8 積分:3 註冊:2003-02-06 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 請問大家 在NT/2000/XP作業系統,該如何知道目前登錄系統的使用者是否為Administrator? >>< face="Verdana, Arial, Helvetica"> JosephLiu77 你好: 請參考以下的範例程式碼 < class="code"> BOOL IsAdministrator(void) { BOOL bRet=FALSE; HANDLE hAccessToken; UCHAR InfoBuffer[1024]; PTOKEN_GROUPS ptgGroups=(PTOKEN_GROUPS)InfoBuffer; DWORD dwInfoBufferSize; PSID psidAdministrators; SID_IDENTIFIER_AUTHORITY siaNtAuthority=SECURITY_NT_AUTHORITY; UINT i; if(!OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &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 bRet; } bRet=FALSE; for(i=0; iGroupCount; i ) { if(EqualSid(psidAdministrators, ptgGroups->Groups[i].Sid)) { bRet=TRUE; break; } } FreeSid(psidAdministrators); return bRet; } -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
JosephLiu77
一般會員 發表:11 回覆:8 積分:3 註冊:2003-02-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |