가상키 코드(Virtual Keys)
OnKeyDown등에서 이용되는
Key값은
VK_*
형태를 지니는 상수로 정의되어 있다.
이 상수들 중 특정 키 값들을 몰라 해메는 경우가 있어 정리해 본다.
자판의 'A'에서 'Z'까지의 키보드는 VK_A부터 VK_Z까지로 구성되고,
자판의 '0'에서 '9'까 지의 값은 VK_0에서 VK_9와 같다.
이 값들은 문자의 ASCII값과 동일하다.
그 외 나머지 값은 아래와 같다.
이중 VK_Copy등 이용되지 않는
키 값(즉, 키보드로 누 를 수 없는 값)도 있다.
상수의 이름이 그대로 자판의 이름을 나타내므로
별도의 설명은 붙이지 않았다.
VK_LButton = $01; VK_RButton = $02; VK_Cancel = $03; VK_MButton = $04;
VK_Back = $08; VK_Tab = $09; VK_Clear = $0C; VK_Return = $0D;
VK_Shift = $10; VK_Control = $11; VK_Menu = $12; VK_Pause = $13;
VK_Capital = $14; VK_Escape = $1B; VK_Space = $20; VK_Prior = $21;
VK_Next = $22; VK_End = $23; VK_Home = $24; VK_Left = $25;
VK_Up = $26; VK_Right = $27; VK_Down = $28; VK_Select = $29;
VK_Print = $2A; VK_Execute = $2B; VK_SnapShot = $2C; VK_Copy = $2C;
VK_Insert = $2D; VK_Delete = $2E; VK_Help = $2F; VK_NumPad0 = $60;
VK_NumPad1 = $61; VK_NumPad2 = $62; VK_NumPad3 = $63; VK_NumPad4 = $64;
VK_NumPad5 = $65; VK_NumPad6 = $66; VK_NumPad7 = $67; VK_NumPad8 = $68;
VK_NumPad9 = $69; VK_Multiply = $6A; VK_Add = $6B; VK_Separator = $6C;
VK_Subtract = $6D; VK_Decimal = $6E; VK_Divide = $6F; VK_F1 = $70;
VK_F2 = $71; VK_F3 = $72; VK_F4 = $73; VK_F5 = $74;
VK_F6 = $75; VK_F7 = $76; VK_F8 = $77; VK_F9 = $78;
VK_F10 = $79; VK_F11 = $7A; VK_F12 = $7B; VK_F13 = $7C;
VK_F14 = $7D; VK_F15 = $7E; VK_F16 = $7F; VK_F17 = $80;
VK_F18 = $81; VK_F19 = $82; VK_F20 = $83; VK_F21 = $84;
VK_F22 = $85; VK_F23 = $86; VK_F24 = $87; VK_NumLock = $90;
VK_Scroll = $91;
델파이에서 가상 키 코드는 키보드의 특정 키를 나타내는 정수 값입니다.
가상 키 코드는 키 이벤트 처리 및 키보드 입력 시뮬레이션에 사용됩니다.
델파이에서 가상 키 코드를 사용하기 위해
Windows API 함수인 VkKeyScan 및 MapVirtualKey 함수를 사용할 수 있습니다.
이러한 함수들을 사용하여 문자나 특정 키에 대한
가상 키 코드를 얻을 수 있습니다.
일반적으로 사용되는 몇 가지 델파이 가상 키 코드는 다음과 같습니다:
VK_BACK: 백스페이스 키
VK_TAB: 탭 키
VK_RETURN: 엔터 키
VK_SHIFT: 쉬프트 키
VK_CONTROL: 컨트롤 키
VK_MENU: 알트 키
VK_PAUSE: 일시 정지 키
VK_CAPITAL: Caps Lock 키
VK_ESCAPE: ESC 키
VK_SPACE: 스페이스 바
VK_PRIOR: 페이지 업 키
VK_NEXT: 페이지 다운 키
VK_END: End 키
VK_HOME: 홈 키
VK_LEFT: 왼쪽 화살표 키
VK_UP: 위쪽 화살표 키
VK_RIGHT: 오른쪽 화살표 키
VK_DOWN: 아래쪽 화살표 키
VK_INSERT: 삽입 키
VK_DELETE: 삭제 키
VK_NUMPAD0 to VK_NUMPAD9: 키패드 0에서 9까지의 숫자 키
VK_F1 to VK_F24: F1에서 F24까지의 함수 키 델파이에서
키 이벤트를 처리하거나 키보드 입력을 시뮬레이션하기 위해
가상 키 코드를 사용할 때는 Windows API 함수인 keybd_event를 사용할 수 있습니다.
이 함수는 가상 키 코드를 매개변수로 받아 해당 키 이벤트를 시스템에 전송합니다.
예를 들어, 다음은 엔터 키를 누르는 예제 코드입니다
keybd_event(VK_RETURN, 0, 0, 0); // 엔터 키를 누름
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); // 엔터 키를 놓음
이 예제에서 VK_RETURN은 엔터 키의 가상 키 코드를 나타냅니다.
첫 번째 keybd_event 호출은 해당 키를 누르는 이벤트를 전달하고,
두 번째 호출은 해당 키를 놓는 이벤트를 전달합니다.
델파이에서 가상 키 코드를 사용하려면 Windows 유닛을 사용하여
Windows API 함수를 선언해야 합니다.
예를 들어, 다음과 같은 방법으로 keybd_event 함수를 선언할 수 있습니다
unit KeybdEventUnit;
interface
uses
Windows;
procedure keybd_event(bVk: Byte; bScan: Byte; dwFlags: DWORD; dwExtraInfo: ULONG_PTR); stdcall; external
user32 name 'keybd_event';
implementation
end.
이렇게 선언한 후에는 해당 유닛을 사용하여 keybd_event 함수를 호출할 수 있습니다.
이것은 일부 일반적인 델파이 가상 키 코드에 대한 설명입니다.
다양한 키 코드가 있으며, 필요에 따라 해당 키에 대한 가상 키 코드를 찾을 수 있습니다.
'Delphi Tip > Windows' 카테고리의 다른 글
시스템 정보 알아보기 (0) | 2024.02.27 |
---|---|
시스템 커스(Help) 바꾸기 (0) | 2024.01.30 |
SendMessage 함수를 활용한 윈도우 메시지 전송 방법 (0) | 2023.06.16 |
윈도우즈 GUI 기본 폰트정보 구하기 (0) | 2023.06.07 |
윈도우버전 확인하기 (0) | 2022.02.03 |
댓글