需要.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 调用。
太平绅士
与其检查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);
它将显示您要查找的内容。
尝试过这个,但我的倾向只是尝试一下——用东亚语言画一些东西并检查结果。 你有盒子吗?
编辑:显然有些人没有意识到我的意思是绘制文本,然后让代码检查结果。 我不是说人类眼球测试!