两种方法:
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; }