如何从C#中检查是否安装了复杂脚本和rtl语言的文件?

时间:2008-10-30 15:19:55

标签: c# windows

如何从C#检查是否安装了复杂脚本和rtl语言(区域和语言设置)的文件?

编辑: 或者是否有另一种方法可以检查从右到左的文本是否会在我的表单中正确显示?

编辑以获得更好的解释(我希望:)) 我正在创建一个将使用阿拉伯字母(免费字典)的应用程序。所以,我想检查的是:“复杂脚本和从右到左语言的文件(包括泰语)”(在语言选项卡中的“区域和语言选项”中的CheckBox)安装(选中CheckBox)。 如果没有安装,阿拉伯语单词将无法正确显示,我想在这种情况下警告用户。

由于

2 个答案:

答案 0 :(得分:1)

我不确定这是否会让你一直到那里,但是,你可以查询WMI。如果您使用的是.Net,请查看System.Management命名空间。你会对...感兴趣。

命名空间:root \ cimv2 类:Win32_OperatingSystem 属性:MUILanguages和/或Locale

答案 1 :(得分:0)

感谢您提供的信息。我查询了Win32_OperatingSystem属性的WMI。它返回Win32_OperatingSystem类,其中包含除MUILanguages之外的所有字段和属性:(

...
  uint32 MaxNumberOfProcesses;
  uint64 MaxProcessMemorySize;
  string MUILanguages[]; //I don't see this field, and all others I see
  string Name;
  uint32 NumberOfLicensedUsers;
...

有任何帮助吗? 我使用的是WinXP SP2和VS2005

我使用的代码  参考:System.Management;

string ConfigNamespace = @"\\.\root\cimv2";
string query = "select * from Win32_OperatingSystem";

ManagementObjectSearcher searcher = 
  new ManagementObjectSearcher(ConfigNamespace, query);

ManagementObjectCollection collection = searcher.Get();

foreach (ManagementObject item in collection)
{
  //PropertyData pd = item.Properties["MUILanguages"];

  foreach (PropertyData data in item.Properties)
  {

  }
}