两种方法:
BOOL IsDomainUser() // 这个方法实际上会查询网络
{
uint8* Buf = NULL;
uint8* Buf2 = NULL;
static BOOL IsDomain = FALSE;
static BOOL bInit = FALSE;
if(!bInit)
{
DWORD Result = NetGetDCName(NULL, NULL, &Buf);
if(Result == NERR_Success)
{
IsDomain = TRUE;
}
bInit = TRUE;
if(Buf) NetApiBufferFree(Buf);
}
return IsDomain;
}
或者读注册表
BOOL IsDomainUser()
{
DWORD dwType = REG_SZ;
TCHAR szDomain[MAX_PATH];
DWORD cbValueSize = sizeof(szDomain);
if(ERROR_SUCCESS != SHGetValue(HKEY_CURRENT_USER, L"Volatile Environment", L"USERDNSDOMAIN",
&dwType, szDomain, &cbValueSize ) )
return FALSE;
return TRUE;
}