클리엘
CLIEL LAB
클리엘
전체 방문자
오늘
어제
  • 분류 전체보기 (513)
    • Mobile (47)
      • Kotlin (47)
    • Web (84)
      • NestJS (9)
      • HTML5 & CSS3 (38)
      • Javascript (20)
      • TypeScript (6)
      • JQuery (11)
    • .NET (300)
      • C# (83)
      • 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
  • Entity Framework
  • Kotlin
  • asp.net core
  • c#
  • .NET
  • exception
  • NestJS
  • asp.net core web api
  • Windows API
  • CSS3
  • LINQ
  • android studio
  • MariaDB
  • 변수
  • HTML5
  • android
  • jQuery
  • node.js
  • ASP.NET

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
클리엘

CLIEL LAB

.NET/Windows API for .NET

GetKeyboardLayoutList - System의 Keyboard Layout목록 반환

2019. 8. 12. 11:42
728x90

GetKeyboardLayoutList는 Windows System에 설치된 모든 Keyboard의 Layout목록을 반환합니다.

Declare Function GetKeyboardLayoutList Lib "user32" Alias "GetKeyboardLayoutList" (ByVal nBuff As Integer, ByRef lpList As Integer) As Integer

▶VB.NET 선언

Dim kbl(255) As Integer

GetKeyboardLayoutList(254, kbl(0))

▶VB.NET 호출

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern int GetKeyboardLayoutList(int nBuff, ref int lpList);

▶C# 선언

int[] kbl = new int[255];

GetKeyboardLayoutList(254, ref kbl[0])

▶C# 호출


GetKeyboardLayoutList함수를 수행시키면 두번째 인수로 건네진 배열에 첫번째 인수에서 정한 크기만큼의 Layoutlist를 담게됩니다.

따라서 실제 Keyboard의 Layoutlist를 확인해 보려면 배열의 값을 확인해야 합니다.

Hex(Val((kbl(0))))

▶VB.NET 에서의 배열 확인

Convert.ToString(kbl[0], 16);

▶C#에서의 배열 확인


이 외에도 GetKeyboardLayoutList함수는 자체적으로 Layoutlist의 크기를 반환합니다.(첫번째 인수에 0을 주는 경우)

GetKeyboardLayoutList(0, kbl(0))

▶VB.NET List수 반환

GetKeyboardLayoutList(0, ref kbl[0]);

▶C# List수 반환

728x90
저작자표시 비영리 변경금지

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

MapVirtualKey - Virtual Keycode와 Scan Code의 상호 변환  (0) 2019.08.12
MapVirtualKeyEx - Virtual Keycode와 Scan Code의 상호 변환(Keyboard 설정)  (0) 2019.08.12
GetKeyNameText - Keyboard의 Key명칭 반환  (0) 2019.08.12
IsWindowEnabled - Window 또는 Control의 입력가능 여부  (0) 2019.08.12
GetAsyncKeyState - 현재 Key상태 확인  (0) 2019.08.12
    '.NET/Windows API for .NET' 카테고리의 다른 글
    • MapVirtualKey - Virtual Keycode와 Scan Code의 상호 변환
    • MapVirtualKeyEx - Virtual Keycode와 Scan Code의 상호 변환(Keyboard 설정)
    • GetKeyNameText - Keyboard의 Key명칭 반환
    • IsWindowEnabled - Window 또는 Control의 입력가능 여부
    클리엘
    클리엘
    누구냐 넌?

    티스토리툴바