我想知道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