在C#里怎样获得当前Windows操作系统的语言种类?以及如何知道当前Windows版本?

第一个问题是:怎样获得当前的Windows操作系统是简体中文,还是繁体中文、英文、日文……
第二个问题是:Windows版本是2000还是98 或者XP?

兄弟学浅,望高人的解答通俗易懂才好,谢谢!
---------------------------------------------------------------

1

System.Globalization.CultureInfo.InstalledUICulture.Name
得到的结果在这张表里比较,
ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfsystemglobalizationcultureinfoclasstopic.htm

2,
参考微软中国的这篇文章:

使用 Visual C# .NET 检查 Windows 版本
http://www.microsoft.com/china/community/article.asp?oBODY=TechZone/FAQ/Q304283&oXSLT=TechZone/FAQ/nav

---------------------------------------------------------------

MessageBox.Show(System.Globalization.CultureInfo.InstalledUICulture.NativeName);
MessageBox.Show(System.Environment.OSVersion.ToString());
补充,OS 有三种设置相对应:

1,就是当前所在区域,可以用上面的方法获得
2,OS 当前选择的默认语言,可以用GetSystemDefaultLangID
3,OS 系统自己的语言,可以从GetSystemDefaultLCID 或 GetOEMCP 获得

[DllImport("kernel32.dll", EntryPoint="GetSystemDefaultLangID")]
public static extern int GetSystemDefaultLangID ();

[DllImport("kernel32.dll", EntryPoint="GetSystemDefaultLCID")]
public static extern int GetSystemDefaultLCID ();

[DllImport("kernel32.dll", EntryPoint="GetOEMCP")]
public static extern int GetOEMCP ();

都没有参数,所以可以简单调用,比如:

int i = GetSystemDefaultLangID();

Published At
Categories with Web编程
Tagged with
comments powered by Disqus