La modification de la "Région et Langue" OS configuration par programmation
Je voudrais être en mesure de changer le de la Région et de la Langue paramètres du système d'exploitation (Windows 7) à partir d'un programme C#. Je ne suis pas contre l'exécution de commandes de ligne de commande, mais je n'ai été aussi loin que la découverte de la façon de lancer le de la Région et de la Langue dialogue: control /name Microsoft.RegionAndLanguage
C'est une langue de la traduction de la où Control
s comme DateTimePicker
ne pouvez utiliser le Windows de la Région et de la Langue paramètres (voir ici pour détails); cependant la mise à jour du système d'exploitation pour se conformer à l'application, les paramètres de langue s'étend au-delà de cela et c'est finalement le but désiré.
Suggestions et/ou des solutions de contournement serait appréciée.
DateTimePicker
de contrôle, ou à la recherche d'un ready-made.Juste une supposition, n'est pas de la configuration d'un format personnalisé pour le contrôle de sélecteur de Date résoudre votre problème ?
non, le format personnalisé est pas assez, il pourrait vouloir modifier d'autres paramètres, comme le premier jour de la semaine, etc.
Le logiciel, je suis en développement remplace efficacement le bureau; la modification de la langue dans le logiciel devrait parfaitement mise à jour de l'OS qui est seulement accessible à partir du logiciel. Donc, dans ce cas, il est idéal que l'OS est conforme. J'ai également envisager l'utilisation de solutions de rechange à la
DateTimePicker
(qui est un peu indésirable) mais tout en répondant je me rends compte que le fait de changer la langue de l'OS serait important. Je vais mettre à jour mon premier post en conséquence.OriginalL'auteur Pooven | 2012-03-02
Vous devez vous connecter pour publier un commentaire.
La seule solution que j'ai réussi à mettre en œuvre a été de modifier le registre. Dans Windows 7, lorsque la langue est modifiée, une nouvelle entrée est ajoutée au Registre dans la sous-clé:
HKEY_CURRENT_USER\Control Panel\Desktop
. Cette clé contient l'entréePreferredUILanguagesPending
de typeREG_MULTI_SZ
et sa valeur permet de déterminer la langue de l'INTERFACE utilisateur. Pour que le changement soit appliqué le courant de l'utilisateur doit se déconnecter et vous connecter à nouveau. Cela peut être fait en utilisant le code suivant:Le pack de langue doit être installé avant de pouvoir être ensemble. Pour une liste de packs de langue vérifier ici ou ici. Lorsque plus de 1 pack de langue est installé option pour changer la langue de l'INTERFACE utilisateur apparaîtra dans
Control Panel > Region and Language > Keyboards and Languages > Display language
.OriginalL'auteur Pooven
Me semble que si un changement de la Culture/UICulture de votre application devrait être suffisant
par exemple
Je corrige la position des mains et d'accord avec votre commentaire à la FPO question, construire un nouveau contrôle
OriginalL'auteur Dominik
J'ai trouvé un bon remplacement pour le
DateTimePicker
:http://www.visualhint.com/fieldpackeditor
Vous aurez les mêmes problèmes avec l'ensemble du système des commandes et boîtes de dialogue système comme
OpenFileDialog
,PrintDialog
, etc., ils ne sont pas localisables .NET.Que d'y penser, pourquoi voulez-vous changer la culture pour votre application? L'utilisateur peut modifier à sa région et les paramètres de langue par lui-même à l'aide du panneau de contrôle, pourquoi votre demande de remplacer ces paramètres?
DateTimePicker
dans un formulaire unique; je ne pense pas que notre société ne pourrait qu'approuver l'achat d'un nouveau logiciel afin d'atteindre cet objectif. Cependant, j'ai réalisé que mon objectif s'étend au-delà deDateTimePicker
. Je vous remercie pour votre réponse.OriginalL'auteur vulkanino
Je pense, vous pensez à l'opposé de ce que vous avez besoin. Souvent les demande(s) peuvent avoir besoin d'aide/honneur/satisfaire les paramètres du système d'exploitation que de les changer pour l'application de commodité. Regardez le post avec un problème similaire au votre : Comment puis-je modifier un utilisateur de Windows, les paramètres régionaux de format date/?
OriginalL'auteur Siva Gopal
J'ai trouvé une solution ici: https://msdn.microsoft.com/en-ie/goglobal/bb964650(fr-fr).aspx
Vous devez créer un fichier XML avec le contenu suivant:
Puis exécutez cette commande:
Cela permettrait de définir le format
English (United States)
pour l'utilisateur actuellement connecté.Bien que l'article est à propos de Windows Vista, cela fonctionne aussi sous Windows 7.
OriginalL'auteur Torben Kohlmeier
NOIX. Sérieusement. Pensez à ce que vous faites ici, j'ai commencer votre programme et de reconfigurer l'ensemble de mon ordinateur pour faire un petit élément de l'INTERFACE utilisateur de travail? De préférence sans demander ou me dire?
Il y a des lois contre cela - cela peut être vu comme de manipulation non autorisée d'un ordinateur.
Utiliser un contrôle adéquat et correctement le programme, mais de ne pas commettre d'actes de sabotage sur ce niveau.
D'accord. Que dit la porte vous ai un veryu nusual morceau de logiciel, donc ... ours avec moi tha ce n'était pas évident.
Je comprends; je n'avais pas défini de ma situation assez bien pour demander des conseils. Nous vivons et nous apprendre 🙂
C'était extrêmement inutile de réponse. Alors que la question d'origine peut avoir été mal formulée, la question générale de la automatisés des changements aux paramètres régionaux de Windows est toujours de l'intérêt et mérite appropriée (si qualifié) de réponse. Il est juste d'observer que le faire d'une manière non souhaitée serait troublant pour un utilisateur, cependant, il est parfaitement raisonnable de développer la date de manutention utilitaires. Dans mon cas, je voudrais modifier les paramètres afin d'automatiser les tests sous différentes (véritable) les paramètres de culture - une réponse ici serait toujours me servir.
OriginalL'auteur TomTom