클리엘
CLIEL LAB
클리엘
전체 방문자
오늘
어제
  • 분류 전체보기 (514)
    • Mobile (47)
      • Kotlin (47)
    • Web (84)
      • NestJS (9)
      • HTML5 & CSS3 (38)
      • Javascript (20)
      • TypeScript (6)
      • JQuery (11)
    • .NET (301)
      • C# (84)
      • ASP.NET (67)
      • Windows API for .NET (128)
    • Server (53)
      • SQL Server (10)
      • MariaDB (18)
      • Windows Server (6)
      • node.js (19)
    • System (12)
      • 작업LOG (12)
    • Review (11)
    • ETC (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 정리

인기 글

태그

  • JavaScript
  • HTML5
  • CSS3
  • c#
  • android studio
  • jQuery
  • asp.net core
  • MariaDB
  • LINQ
  • exception
  • Windows API
  • asp.net core web api
  • node.js
  • ASP.NET
  • 변수
  • .NET
  • Entity Framework
  • android
  • NestJS
  • Kotlin

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
클리엘

CLIEL LAB

.NET/Windows API for .NET

GetKeyboardLayout - Keyboard배열및 언어확인

2019. 8. 9. 16:25
728x90

GetKeyboardLayout함수는 특정 Thread에서 사용중인 Keyboard의 입력언어및 배열값을 확인합니다.

Declare Function GetKeyboardLayout Lib "user32" Alias "GetKeyboardLayout" (ByVal dwLayout As Integer) As Integer

▶VB.NET 선언

GetKeyboardLayout(0)

▶VB.NET 호출

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern int GetKeyboardLayout(int dwLayout);

▶C# 선언

GetKeyboardLayout(0);

▶C# 호출


GetKeyboardLayout함수는 Thread를 구분하는 값을 인수로 건네주며 이때 0을 인수로 전달하면 현재의 Thread를 의미하게 됩니다. 또한 실제 Program에서 GetKeyboardLayout함수를 호출하면 10진수 형태의 숫자로된 값을 반환하는데 이 값을 그대로 인식하기는 어려우므로 다음과 같이 16진수로 변환합니다.

Hex(Val(GetKeyboardLayout(0)))

▶VB.NET

Convert.ToString(GetKeyboardLayout(0), 16);

▶C#


GetKeyboardLayout함수반환값을16진수로 변환하면 전체 8자리 형태의 값이 생성됩니다.

 

X00000000 

 

X는 문자를 의미합니다.

위 값에서 가장 오른쪽 부터 4자리는 현재 키보드의 입력언어를, 이후 4자리는 키보드 Layout을 나타냅니다. 다음은 결과값에 따른 국가별 언어 Layout을 정리한 표입니다.(일부)

 값  국가  Keyboard Layout
 E0010404  중국  번체(Phonetic)
 E0010411  일본  Microsoft Soft IME - 2002
 E0010412  한국  Microsoft Soft IME - 2000
 E0010804  중국  간체(QuanPin)
 E0020412  -  Microsoft Soft IME - 2003

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'.NET > Windows API for .NET' 카테고리의 다른 글

DestroyCaret - 생성된 모든 Caret의 삭제  (0) 2019.08.09
LoadCursor - Windows Cursor Load  (0) 2019.08.09
GetLocaleInfo - System의 국가별지역 정보  (0) 2019.08.09
AddFontResource - Font(글꼴) 추가하기  (0) 2019.08.09
GetTextFace - 현재 Windows화면의 글꼴 확인  (0) 2019.08.09
    '.NET/Windows API for .NET' 카테고리의 다른 글
    • DestroyCaret - 생성된 모든 Caret의 삭제
    • LoadCursor - Windows Cursor Load
    • GetLocaleInfo - System의 국가별지역 정보
    • AddFontResource - Font(글꼴) 추가하기
    클리엘
    클리엘
    누구냐 넌?

    티스토리툴바