2010-01-05 5 views
3

가장 오래된 Windows 시스템의 현재 국가 코드를 가져오고 싶습니다.Windows 95, NT 3.51에서 현재 국가 이름을 얻는 방법

내가 LOCALE_ICOUNTRY 플래그 GetLocaleInfo()를 사용했지만, 그때 깨달았다는 잘못된 결과를 (다른 나라에 대해 동일한 값을) 반환, 그래서 ISO3166 표준 2 개 문자 코드 국가 코드를 반환 LOCALE_SISO3166CTRYNAME을 시도했습니다 (예를 들어. '미국')

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

답변

2

귀하의 경우에 적용되는 것은 확실하지 않지만 GetLocaleInfo()가 미국 이외의 대부분의 로캘에 대해 잘못된 정보를 반환하는 Win32S의 이전 버전 (1.25A 이전)에는 버그가있었습니다. (참조 : w32s125a.txt).

이 버그가 초기 Win95 및 NT 3.51에도 있었을 가능성이 있습니다.

나는 고대의 운영체제에 대한 코드를 작성하는 이유가 궁금합니다.

+0

Nah, LOCALE_ICOUNTRY 플래그 (OSR2 테스트)와 함께 제대로 작동하지만 원하는 것은 아니며 LOCALE_SISO3166CTRYNAME은 해당 운영 체제에서 지원되지 않습니다 (Microsoft의 Michael Kaplan은 자신의 블로그 http : //blogs.msdn에서 이에 대해 썼습니다). .com/michkap/archive/2005/03/29/403216.aspx). 내 고객에게 필요해. –