2008-10-30 4 views
1

Comment vérifier, à partir de C#, les fichiers pour les scripts complexes et les langues rtl (paramètres régionaux et linguistiques) installés?Comment vérifier, à partir de C#, les fichiers pour les scripts complexes et les langues rtl installés?

Editer: Ou existe-t-il un autre moyen de vérifier si le texte de droite à gauche s'affichera correctement dans mon formulaire? Éditer pour une meilleure explication (j'espère :) :) Je crée une application qui utilisera des lettres arabes (dictionnaire libre). Donc, je veux vérifier sont: "Fichiers pour le script complexe et les langues de droite à gauche (y compris Thai)" (CheckBox dans "Options régionales et linguistiques" dans l'onglet Langue) installé (Est CheckBox cochée.). S'ils ne sont pas installés, les mots arabes ne s'afficheront pas correctement et je souhaite avertir l'utilisateur si c'est le cas.

Merci

Répondre

1

Je ne sais pas si cela va vous aider à tout le chemin là-bas mais, vous pouvez interroger WMI. Si vous utilisez .Net, consultez l'espace de noms System.Management. Vous serez intéressé par ...

Espace de noms: root \ cimv2 Classe: Win32_OperatingSystem Propriétés: MUILanguages ​​et/ou de la région

0

Merci pour votre information. J'ai interrogé WMI pour les propriétés Win32_OperatingSystem. Elle retourne Win32_OperatingSystem classe avec tous les champs et propriétés à l'exception MUILanguages ​​:(

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

Toute aide J'utilise Windows XP SP2 et VS2005

Code I utilisé refereence: 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) 
    { 

    } 
} 
?
Questions connexes