2010-01-05 57 views
3

我想獲取最早的Windows系統的當前國家/地區代碼。如何在Windows 95,NT上獲取當前國家/地區名稱3.51

我正在使用帶有LOCALE_ICOUNTRY標誌的GetLocaleInfo()標誌,但後來我意識到它返回錯誤結果(相同的值爲不同的國家),所以我試過LOCALE_SISO3166CTRYNAME它返回國家代碼在ISO3166標準2字母代碼例如, '美國')

http://www.iso.org/iso/english_country_names_and_code_elements

...它工作正常,但不是最老的Windows版本。

所以我的問題是,如何獲得有效的國家代碼(標識符,名稱,無論...)在Windows 95/NT 3.51?

+1

順便提一句,對於您最近刪除的問題,用戶發佈了一個鏈接到[detours](http://research.microsoft.com/en-us/projects/detours/),看起來很有用。其餘的都沒有。我希望這有幫助。 – sarnold 2012-02-22 02:24:55

回答

2

我不完全確定它是否適用於您的情況,但是Win32S的舊版本(預1.25A版本)中存在一個Bug,其中GetLocaleInfo()將爲大多數非美國語言環境返回不正確的信息。 (見:w32s125a.txt)。

我覺得這個bug在Win95和NT 3.51早期可能也會出現。

我很想知道爲什麼你會爲這樣古老的操作系統編寫代碼!

+0

Nah,它與LOCALE_ICOUNTRY標誌(OSR2測試)正常工作,但這不是我想要的,並且這些操作系統不支持LOCALE_SISO3166CTRYNAME(來自Microsoft的Michael Kaplan在他的博客http://blogs.msdn上寫了關於它的文章.COM/michkap /存檔/ 2005/03 /第29/403216.aspx)。我需要它爲我的客戶。 – 2010-01-05 20:53:48

相關問題