2011-04-12 189 views
1

在我的應用程序中,我需要檢查它在運行的計算機上的區域設置是否爲俄語。另外,我需要知道是否安裝了俄文鍵盤佈局。檢查區域設置

這背後的意圖是知道這臺電腦是否可能(我不需要100%確定,可能是足夠好的)歸俄羅斯所有。這個想法是檢查區域設置是否設置爲俄語,並且/或者是否安裝了俄語鍵盤佈局,因爲這些都可能存在於俄語擁有的計算機中,但不可能存在於計算機上由美國人擁有。

順便說一句,它不是真的關於俄語,這是我會檢查的其他國籍,我只是用它作爲一個例子。

我該如何檢查這些?

+0

可能的重複:http://stackoverflow.com/questions/1322578/win32-api-for-getting-the-languagelocalization-info-of-the-os – dwo 2011-04-12 08:31:33

+0

您能否給我們一個更好的指示?例如,基於GeoIP的解決方案對您有意義嗎?看着我的俄羅斯同事,我看不出有俄羅斯的鍵盤。 – MSalters 2011-04-12 11:16:30

+0

@msal什麼是GeoIP?我在谷歌嘗試了一個粗略的搜索,但它沒有發現任何有用的東西。 – sashoalm 2011-04-12 12:59:07

回答

1

National Language Support Functions是一個很好的開始。

您需要決定您想要的信息 - 您可以檢查哪些語言環境是現有的,已安裝的,系統默認的,用戶默認的或主動的線程。 GetThreadLocale會告訴你一個線程的活動語言環境,GetUserDefaultLCIDGetSystemDefaultLCID會告訴你默認值,EnumSystemLocales函數可以讓你看到哪些語言環境存在/被安裝,或者你可以使用IsValidLocale來檢查是否安裝了特定的語言環境。