2010-01-05 73 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

相关问题