需要.NET解决方案来检测Windows XP中是否安装了“东亚语言”

本文关键字:语言 东亚语言 安装 是否 解决方案 NET 检测 Windows XP 需要 | 更新日期: 2023-09-27 18:34:46

Environment - C#, .NET 4.0, WPF, VS2010

我有一个简单的Windows应用程序,支持多种文化/语言。当用户选择日语、韩语、中文(简体(或中文(繁体(时,Windows XP 将在字形的位置显示看起来有趣的"方形"或"块状"字符。在 Windows Vista、7 或 8 上不会出现此问题。

作为解决方案,建议我转到"控制面板|区域和语言选项",选择"语言"选项卡,然后选中"安装东亚语言的文件"框。

这确实解决了问题...为我的机器。现在我了解到选择"日语"的日本用户很可能已经安装了必要的资源,他们很可能不会遇到此问题。

但。。。我需要能够检测运行我的应用程序的任何 Windows XP 计算机上是否已安装东亚语言。在这种情况下,我将能够显示一个消息框,通知他们安装语言...或者我可能会决定隐藏日语、韩语、中文(简体(和中文(繁体(文化/语言选择。

所以。。。如何检测 Windows XP 是否安装了必要的东亚语言文件?我更喜欢 .NET 解决方案,但如有必要,我愿意进行 API 调用。

太平绅士

需要.NET解决方案来检测Windows XP中是否安装了“东亚语言”

与其检查InputLanguage,不如使用GetCultures函数调用来检查CultureInfo

http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.getcultures.aspx

如前所述,如果InstalledWin32Cultures用作参数,此函数应返回您想要的内容,

http://msdn.microsoft.com/en-us/library/system.globalization.culturetypes.aspx

你可以像这样迭代:

        foreach (System.Windows.Forms.InputLanguage p in System.Windows.Forms.InputLanguage.InstalledInputLanguages)
            Console.WriteLine(p.Culture.EnglishName);

它将显示您要查找的内容。

我没有

尝试过这个,但我的倾向只是尝试一下——用东亚语言画一些东西并检查结果。 你有盒子吗?

编辑:显然有些人没有意识到我的意思是绘制文本,然后让代码检查结果。 我不是说人类眼球测试!