일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Threads
- if(식)
- if
- ControlSend
- Blocks
- Var:=식
- SetKeyDelay
- EnvMult
- EnvSub
- DetectHiddenWindows
- ControlGetText
- SetEnv
- IfWinExist
- SetControlDelay
- EnvSet
- EnvAdd
- StringGetPos
- 배열
- 식
- API
- 식의 설명
- IF (식)
- Menu
- IfInString
- autohotkey
- 함수
- SetTitleMatchMode
- MouseClick
- EnvDiv
- SetMouseDelay
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
keybd_event 본문
keybd_event
키스트로크(keystroke)를 합성합니다.합성된 키스트로크(keystroke)로부터, WM_KEYUP (이)나 WM_KEYDOWN 메세지를 생성합니다.
Windows NT/2000/XP: 이 함수는 SendInput 함수에 교체되었습니다.
VOID keybd_event( BYTE bVk, // 가상 키코드 BYTE bScan, // 하드웨어 스캔 코드 DWORD dwFlags, // 동작 지정 플래그 ULONG_PTR dwExtraInfo // 추가 정보 );
USER32.DLL
인수
- bVk
-
가상 키코드(을)를 지정합니다. 1 이상 254 이하의 값이 아니면 안됩니다.
- bScan
-
이 파라미터는 사용되지 않습니다.
- dwFlags
-
함수의 동작을 지정합니다. 0 또는 다음의 값의 조합으로 지정합니다.
치 의미 0x0001 (KEYEVENTF_EXTENDEDKEY) 스캔 코드에 프리픽스바이트 0xE0 (224) (을)를 부가합니다.
0x0002 (KEYEVENTF_KEYUP) 키를 떼어 놓는 조작으로 합니다.지정하지 않으면, 키를 누르는 조작이 됩니다.
- dwExtraInfo
-
키스트로크(keystroke)에 관련했다 32 비트의 추가 정보를 지정합니다.
반환값
반환값은 없습니다.
해설
어플리케이션은, 스크린의 snapshot를 취득해 클립보드에 보존하기 위해서, [PrintScreen] 키의 눌러 인하를 시뮬레이트 할 수 있습니다.이것에는, bVk 파라미터에 0x2C (VK_SNAPSHOT) (을)를 지정하고, keybd_event 함수를 호출합니다.
Windows NT/2000/XP: keybd_event 함수는 [Num Lock], [Caps Lock], [Scroll Lock] 키를 바꿀 수 있습니다.
Windows 95/98/Me: keybd_event 함수는 [Caps Lock], [Scroll Lock] 키를 바꿀 수 있습니다만, [Num Lock] 키를 바꿀 수 없습니다.
이 함수는 OEM 의존의 하드웨어 스캔 코드를 Windows 에 건네줄 수 있습니다만, 어플리케이션은 스캔 코드를 이용해야 하는 것이 아닙니다.
어플리케이션은, 스크린의 snapshot를 얻기 위해서, [PrintScreen] 키의 눌러 인하를 시뮬레이트 할 수 있습니다.이것을 실현하려면 , bVk 파라미터에 0x2C (VK_SNAPSHOT) (을)를, bScan 파라미터에 0 (화면 전체의 snapshot를 취할 때) 또는 1 (액티브 윈도우의 snapshot를 취할 때)(을)를 지정하고, keybd_event 함수를 호출합니다.
스크린의 snapshot를 취해 클립보드에 카피하는 경우는,Windows의 버젼에 따라서 방법이 다릅니다.우선 GetVersionEx 함수로 버젼 정보를 취득해, 메이저 버젼이4이하인가5이상인가로 다른 코드를 실행할 필요가 있습니다.
- 메이저 버젼 번호가5이상의 경우
스크린 전체의 snapshot를 얻으려면 , bVk 파라미터에 0x2C (VK_SNAPSHOT) (을)를, bScan 파라미터에 0 (을)를 지정합니다.
액티브 윈도우의 snapshot를 얻으려면 , bVk 파라미터에 0x2C (VK_SNAPSHOT) (을)를, bScan 파라미터에 1 (을)를 지정합니다.
- 메이저 버젼 번호가4이하의 경우
스크린 전체의 snapshot를 얻으려면 , bVk 파라미터에 0x2C (VK_SNAPSHOT) (을)를, bScan 파라미터에 1 (을)를 지정합니다.
액티브 윈도우의 snapshot를 얻으려면 , [Alt] 키 (VK_MENU) (을)를 누르면서 [PrintScreen] 키 (VK_SNAPSHOT) (을)를 누르는 동작을에뮤레이트 합니다.즉,
keybd_event(VK_MENU, 0, 0, 0); keybd_event(VK_SNAPSHOT, 0, 0, 0); keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
대응 정보
Windows 95 이후 / Windows NT 3.1 이후
'API 관련 > Win32 API 함수' 카테고리의 다른 글
LoadCursorFromFile(A) (0) | 2007.11.08 |
---|---|
LoadCursor(A) (0) | 2007.11.08 |
InitCommonControlsEx (0) | 2007.11.08 |
InitCommonControls (0) | 2007.11.08 |
ImageList_GetIcon (0) | 2007.11.08 |