windows服务进程中确定当前用户为administrator的方法
/* Check if the current user Have the right to Manage User Info*/
BOOLEAN SPM_IsAdministrator(PWSTR pszUsername)
{
DWORD dwLevel =
1;
LPUSER_INFO_1 pBuf = NULL;
NET_API_STATUS nStatus;
BOOLEAN bIsAdmin=FALSE;
REG_VALUE regValue;
REG_VALUE defaultValue;
wcscpy(defaultValue.pszValue,L"");
GetItemValue(HKEY_LOCAL_MACHINE,L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",
L"CurrentDomain",REG_SZ,®Value,&defaultValue);
nStatus = NetUserGetInfo(regValue.pszValue,pszUsername,dwLevel,(LPBYTE *)&pBuf);
if (nStatus == NERR_Success)
if(pBuf->usri1_priv==USER_PRIV_ADMIN)
bIsAdmin=TRUE;
return(bIsAdmin);
}