|
저두.. 함수가 있을거라고 생각해서.. 뒤져봤지만.. 대부분 버젼이나, 서비스팩, 98/2000 여부 등만 넘겨주더군요..
레지스트리를 살펴보니까.. 설치된 윈도우의 언어가 있어.. 그것으로 읽게 하였습니다. 영문 윈도우에서도 테스트 해봤으니.. 정확할껍니다.
아래는 버튼을 누르면 현재의 설치된 윈도우 언어를 나타내주는 예제입니다.
//---------------------------------------------------------------------------
#include <vcl.h>
#include <registry.hpp> // 레지스트리 사용시 추가
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TRegistry *trRegistry = new TRegistry;
String stOSCode;
trRegistry->RootKey = HKEY_LOCAL_MACHINE;
trRegistry->LazyWrite = false;
trRegistry->OpenKey("SYSTEM\\CurrentControlSet\\Control\\Nls\\Language", false);
stOSCode = trRegistry->ReadString("InstallLanguage");
switch(stOSCode.ToInt()) {
case 409 : {
ShowMessage("영문 윈도우");
break;
}
case 412 : {
ShowMessage("한글 윈도우");
break;
}
default : {
ShowMessage("알 수 없는 윈도우 언어");
break;
}
}
trRegistry->CloseKey();
delete trRegistry;
}
//---------------------------------------------------------------------------
미혜 님이 쓰신 글 :
: OS의 한글, 영문 구분하는 코드는 무엇인가요?
:
: 함수또는 숫자적인 값이 있을듯 싶은데요..
:
: 고수님들 부탁드립니다~~
|