8
votes

Obtenez l'emplacement actuel (comme spécifié dans la région et la langue) en C #

Comment puis-je obtenir l'emplacement actuel de la machine comme spécifié dans la région et la langue du système d'exploitation? J'ai déjà essayé de l'obtenir à partir de la classe RegionInfo , mais il renvoie l'emplacement tel que spécifié dans le format déroulant de la région et de la langue.

Juste pour clarifier ce que je veux dire, si vous ouvrez la région et la langue du panneau de commande de votre machine, je souhaite lire l'emplacement tel que spécifié dans l'onglet Emplacement. RegionInfo me donne la valeur spécifiée dans le format déroulant de l'onglet Formats.


3 commentaires

@Sai je pense que l'op signifie l'emplacement géographique.


Je pense qu'il veut que l'emplacement comme dans ukraine, des États-Unis, du Royaume-Uni Comme sage et rien à voir avec la culture


C'est correct. Par exemple, je peux avoir ma culture comme anglais (États-Unis) et mon emplacement comme l'Inde. Vous pouvez modifier ces deux ces deux groupes de contrôle de la région et de la langue.


4 Réponses :


0
votes

Oui .. mais plus facile:

CultureInfo info = CultureInfo.CurrentCulture;


2 commentaires

Cela ne fonctionne pas. Par exemple, mon onglet d'emplacement est défini sur le Japon. Cependant, le code ci-dessus généré en-nous.


non idem Panneau de commande: Options régionales et linguistiques-> Normes et formats que Panneau de configuration: Options régionales et linguistiques-> Localisation < / code>



1
votes

Pouvez-vous essayer d'utiliser

RegionInfo.CurrentReGion.DisplayName;

Cela vous donne-t-il le nom de localisation requis lorsque vous avez l'intention


3 commentaires

J'ai essayé cela, mais cela me donne le format actuel et non l'emplacement actuel comme spécifié dans la région de la région et de la langue (panneau de commande -> région et langue)


Ne fonctionnera pas. Mon emplacement est le Japon, mais ce qui précède montre "États-Unis".


non idem Panneau de commande: Options régionales et linguistiques-> Normes et formats que Panneau de configuration: Options régionales et linguistiques-> Localisation < / code>



18
votes

Après beaucoup de google, j'ai enfin eu la réponse. Suivant deux liens aidez-moi à obtenir l'emplacement actuel de la machine -

http://social.msdn.microsoft.com/forums/eu/cshaarpanta/thread/6DFAA142-C588-4CB0-B044-FA1E8138B299

http://www.siao2.com/2007/02/21/1733999.aspx < / p>

J'ai fait la classe d'utilité suivante si quelqu'un est intéressé par le code final - xxx


4 commentaires

Ceci est la seule solution de travail sur plusieurs OS, comme Win7 + Win8. Je ne comprends pas pourquoi n'est pas noté du tout ...


à l'aide de (var repeygeo = microsoft.win32.registry.currenttuser.opensubkey (@ "Panneau de configuration \ international \ geo")) {Response.write ("
GEONATION" + REGEKEKEGEO.GETVALUE ("NATION" ) .Tostring ()); }


@Kiquenet utilisant le registre est quelque chose que je voudrais vraiment éviter. C'est généralement sans papiers et non pris en charge, et vous pouvez être à peu près sûr que cela se brisera à un moment donné.


Trop long et pas aussi élégant que ce que @zan a déclaré ci-dessous.



1
votes

base sur "Panneau de commande> Région> Emplacement de la maison", vous pouvez obtenir régionInfo. Essayez ceci - xxx


1 commentaires

Cela devrait être la réponse sélectionnée - beaucoup plus courte. Aussi, voir Stackoverflow.com/a/53972349/1266732