有没有办法检测Windows操作系统是服务器(2003/2008)还是工作站(XP / Vista / Win7)?

我想知道Win Api检测Windows操作系统是服务器(2003/2008)还是工作站(XP / Vista / Win7)?

调用GetVersionEx来获取OSVERSIONINFOEX信息并测试wProductType

这是这样的:

 OSVERSIONINFOEX osvi; BOOL bIsWindowsXPorLater; ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); GetVersionEx((LPOSVERSIONINFO )&osvi); if(osvi.wProductType == VER_NT_WORKSTATION) { // Workstation printf("VER_NT_WORKSTATION.\n"); } else { // server if(osvi.wProductType == VER_NT_DOMAIN_CONTROLLER) { printf("DOMAIN_CONTROLLER.\n"); } if(osvi.wProductType == VER_NT_SERVER) { printf("SERVER.\n"); } } 

你也需要kernel.lib