如何获取使用C#运行代码的操作系统的名称?
问题描述:
我有一个C#应用程序,预计将运行在Win XP 7 & Win XP。在向客户分发MSI & EXE之前,我需要检查我的C#源代码中的OS NAME。如何获取使用C#运行代码的操作系统的名称?
没有进入精细版本 说明我的代码要检查它是否 是一个32位Windows XP或64位 WINDOWS 7
我能得到好心对此帮助。
正在考虑的操作系统是64位Win7 & 32位Win XP。
答
你可以得到的操作系统友好名称通过使用WMI。
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem");
String operatingSystem = String.Empty;
foreach (ManagementObject query in searcher.Get())
{
operatingSystem = query["Caption"].ToString();
break;
}
你可以使用WMI Code Creator,微软从一个伟大的工具来生成WMI查询。
答
看一下Environment这个类。它包含你需要的方法。
答案很简单:
Console.WriteLine("OSVersion: {0}", Environment.OSVersion.ToString());
答
是所有给你正确的方向Environment.OSVersion给你的操作系统版本,但如何知道它的Windows XP或7
你需要比较的版本,在这里关注列表
的Windows XP 5.1.2600当前SP3
的Windows XP专业x64版5.2.3790
的Windows Vista 6.0.6000当前版本变为6.0.6002 SP2的
Windows 7的6.1.7600
if (Environment.OSVersion.Version.ToString().Equals("5.1.2600"))
{
// windows xp 32-Bit with service pack 3
}
else if (Environment.OSVersion.Version.ToString().Equals(" 6.1.7600"))
{
// windows 7
}
你也关心Vista吗?或一些更复杂的版本特定区域设置不包括媒体播放器,例如) – 2011-02-16 13:19:17
看到这个答案[这里] [1] [1]:http://*.com/questions/1410092/identify-the-operating-system-details-in-c – Madeleine 2011-02-16 13:30:37