电脑系统判断函数
系统判断函数
不多讲,代码含注释
void whichxitong() { typedef void(__stdcall*NTPROC)(DWORD*, DWORD*, DWORD*); HINSTANCE hinst = LoadLibrary("ntdll.dll"); DWORD dwMajor, dwMinor, dwBuildNumber; NTPROC proc = (NTPROC)GetProcAddress(hinst, "RtlGetNtVersionNumbers"); proc(&dwMajor, &dwMinor, &dwBuildNumber); if (dwMajor == 10 && dwMinor == 0) { //win10 xt = 10; } else if (dwMajor == 6 && dwMinor == 3) { //win8.1 xt = 8.1; } SYSTEM_INFO info; GetSystemInfo(&info); OSVERSIONINFOEX os; os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); if (GetVersionEx((OSVERSIONINFO *)&os)) { switch (os.dwMajorVersion) { case 4: switch (os.dwMinorVersion) { case 0: if (os.dwPlatformId == VER_PLATFORM_WIN32_NT) { //NT 4.0 xt = 4; } else if (os.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) { //win95 xt = 95; } break; case 10: //win98 xt = 98; break; case 90: //win Me xt = 1000; break; } break; case 5: switch (os.dwMinorVersion) { case 0: //win2000 xt = 2000; break; case 1: //win XP xt = 3000; break; case 2: if (os.wProductType == VER_NT_WORKSTATION// && /* info.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AWD64*/) { //xin XPx64 xt = 3500; } else if (GetSystemMetrics(SM_SERVERR2) == 0) { //win Server 2003 xt = 2003; } else if (GetSystemMetrics(SM_SERVERR2) != 0) { //win Server 2003 R2 xt = 2004; } break; } break; case 6: switch (os.dwMinorVersion) { case 1: if (os.wProductType == VER_NT_WORKSTATION) { //win7 xt = 7; } else { //win Server 2008 R2 xt = 2009; } break; case 2: if (os.wProductType == VER_NT_WORKSTATION) { //win8 xt = 8; } else { //win Server 2012 xt = 2012; } break; } break; default: xt = -1; } } else { xt = -1000; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现