2012-06-24 2 views
-3

안녕하세요. keybd_event를 사용하여 키 누르기를 가상으로 시뮬레이트하는 C# 응용 프로그램이 있습니다. 응용 프로그램을 실행할 때 모든 키 누름이 올바르게 작동합니다. 그러나 응용 프로그램을 닫은 후에 키보드의 일부 키가 뒤죽박죽이되어 특정 키를 누르면 기본 명령이 실행되지 않습니다.keybd_event를 사용한 후에 키보드가 뒤죽박죽되었습니다.

감사합니다.

+1

질문이 실제처럼 닫히지 않기 전에주의 할 점이 있습니까? –

답변

2

프로그래밍 방식으로 "누르는"수정 자 키를 놓는 것을 잊었다 고 가정합니다. 누르는 모든 키에 KEYEVENTF_KEYUP 옵션이있는 keybd_event 옵션을 호출해야합니다. 여기

은 눌러의 예 Ctrl + Q입니다 :

keybd_event(VK_CONTROL, 0, 0, 0); 
keybd_event(VK_Q, 0, 0, 0); 
keybd_event(VK_Q, 0, KEYEVENTF_KEYUP, 0); 
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); 

당신은 모든 후속 키 입력의 마지막 줄, 잊어 버린 경우 - 사용자가 수동으로 수행하는 경우에도이 - Ctrl을 것처럼 해석 될 수를 키가 여전히 눌려 있습니다.

+0

감사합니다. 내 키보드 입력을 엉망으로 만든 Windows 키가있었습니다. – watereater

관련 문제