哪一个在以下几个方面更好得到操作系统的名称,操作系统的版本在windows -
在所有windows操作系统中获得information
系统信息还是命令?我想避免在C中使用OSVersionInfoEx,因为它必须硬编码营销名称检测,如果引入新的windows风格,将增加维护工作。请分享你的意见。
发布于 2011-05-23 07:17:52
GetVersionEx -得到一个基本的os版本号,你不能比这个更快。但是您是对的,您将无法将操作系统的新版本映射到正确的字符串。你有没有考虑过这样做:
OSVERSIONINFOEX version = {};
char szOS[MAX_OS_LENGTH];
version.dwOSVersionInfoSize = sizeof(version);
GetVersionEx((OSVERSIONINFO*)&version);
if (MyFunctionToMapVersionToString(&version, szOS) == false)
{
sprintf(szOS, "Microsoft Windows %d.%d", version.dwMajorVersion, version.dwMinorVersion);
}WMI -编写更多代码。但是,您很可能只是在应用程序启动时(或需要时)这样做,并在再次需要信息时缓存结果。这不像操作系统的产品名称会改变后,应用程序已经查询了一次。)关于向后兼容性,我相信它在旧操作系统上运行得很好.但是你要在把它运给客户之前对它进行测试,对吗?
如果您想要一种无文档的方式,就会有一个注册表项,其中包含您想要的内容:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion ("ProductName")https://stackoverflow.com/questions/6092044
复制相似问题