ฉันจะเข้าถึงภูมิภาคของคอมพิวเตอร์ Windows โดยทางโปรแกรมได้อย่างไร
โดยเฉพาะฉันกำลังมองหาค่านี้ในแผงการตั้งค่าภูมิภาคและภาษาใน Windows 10
หรือ (ทางเลือก) "ตำแหน่งบ้าน" ในแผงควบคุม -> ภูมิภาค -> แท็บตำแหน่ง
ฉันหวังว่าจะพบบางสิ่งที่จะใช้งานได้กับ Windows 7-10 โปรดสังเกตว่าภาษาเริ่มต้นที่ฉันเลือกคือภาษาอังกฤษ (สหรัฐอเมริกา) ฉันลองทั้งออกจากระบบและรีสตาร์ทคอมพิวเตอร์เพื่อรับการเปลี่ยนแปลงที่จะนำไปใช้ ฉันได้ลองคำสั่งต่อไปนี้ (จาก 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)
ฉันไม่ต้องการพึ่งพาภาษาที่เลือกของระบบปฏิบัติการหากเป็นไปได้ โซลูชันที่ไม่ใช้ PowerShell ก็ยอดเยี่ยมเช่นกันเนื่องจากฉันไม่แน่ใจว่าฉันสามารถพึ่งพาสคริปต์ PowerShell ที่สามารถเรียกใช้งานได้บนเครื่องของผู้ใช้ปลายทาง
แก้ไข: คำตอบของ Stack Overflow นี้ใช้ได้กับฉันและรายงาน"Canada"
ตามที่คาดไว้ (หรือ"CA"
ถ้าฉันใช้ GeoType เป็น 4 ซึ่งเป็นสิ่งที่ฉันจริง ๆ ใช้) ฉันไม่ได้ใช้ C Sharp (หรืออะไรก็ตามที่สามารถเชื่อมต่อกับkernel32.dll
โดยตรง) ดังนั้นหากใครรู้ว่าจะรับข้อมูลนั้นจากที่อื่นได้ที่ไหนมันจะยังคงได้รับการชื่นชม แต่ฉันสามารถเขียนแอปพลิเคชัน. NET Core ที่คว้ามาได้ถ้าฉันต้องทำ
Get-WinHomeLocation
รูปลักษณ์ที่เป็นประโยชน์มากเช่นกัน