Comment puis-je accéder par programme à la région d'un ordinateur Windows?
Plus précisément, je recherche cette valeur dans la région & amp; Panneau des paramètres de langue dans Windows 10.
Ou (alternativement), le "domicile" dans le Panneau de configuration - & gt; Région - & gt; Onglet Emplacement.
J'espère trouver quelque chose qui fonctionnera pour Windows 7-10. Notant également que ma sélection par défaut la langue est anglais (États-Unis). J'ai essayé à la fois de déconnecter et de redémarrer mon ordinateur pour que les modifications éventuelles soient appliquées. J'ai essayé les commandes suivantes (de powershell):
wmic os get locale
// 0409 -> Translates to United States
// This one is especially problematic -
// it doesn't seem to change
// when I change my default language.
Get-Culture
// 1033 -> English (United States)
Get-UICulture
// 1033 -> English (United States)
je préférerais ne pas compter sur la langue choisie par le système d'exploitation, dans la mesure du possible. Une solution non-PowerShell serait également intéressante, car je ne suis pas sûr de pouvoir compter sur des scripts PowerShell exécutables sur les machines de l'utilisateur final.
Modifier: Cette réponse sur Stack Overflow fonctionne pour moi et des rapports "Canada"
comme prévu (ou "CA"
, si j’utilise un GeoType de 4, c’est ce que je recherche réellement). Je n'utilise pas C Sharp (ou tout ce qui pourrait interagir avec kernel32.dll
directement, donc si quelqu'un sait où obtenir cette information ailleurs, ce serait tout de même apprécié. Mais je peux écrire une application .NET Core qui la saisit pour moi, si nécessaire.
Get-WinHomeLocation
semble très utile aussi.