2012-03-28 1 views
5

키보드에서 이벤트를 올바르게 가져 오는 C 프로그램이 있습니다. 그러나 Java를 사용하여 시뮬레이션 된 키보드 이벤트를 보내려고합니다.자바를 사용하여 SDL을 사용하는 C 프로그램에 시뮬레이션 된 Windows 키보드 이벤트 보내기

  1. 는 로봇 클래스
  2. 전화 win32.dll (네이티브)에서 keybd_event 함수를 사용 : 나는 두 가지 방법을 시도했습니다.

위의 두 가지 방법 모두 텍스트 편집기 등으로 키를 보내는 것과 같은 작업을 수행하지만 다른 프로그램 (GIMX는 정확하게)은 이벤트를 인식하지 못합니다. 이것이 왜, 그리고 내가 자바와 통신하도록 할 수있는 모든 아이디어?

+0

나는 당신의 문제에 익숙하지 해요 동안은 keybd_event에 대한 문서는 SendInput을 대신 사용하여 말한다 : http://msdn.microsoft.com/en-us/library/windows/ desktop/ms646304 (v = vs.85) .aspx –

+0

메모장에서 작동합니까? 나는. 너 끝이나 GIMX 끝에서의 문제 야? – Ben

답변

1

은 관련 논의는 여기를 참조하십시오 : 당신은 낮은 레벨의 DirectInput 작업 할 SendInput 이벤트, 즉 스캔 코드를 보낼 필요가 같은

http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/29cf2de9-412e-44dd-9050-174089d8e2a2/

본질적으로, 그것은 보인다. 스캔 코드를 사용하려면 KBDINPUT 구조에 KEYEVENTF_SCANCODE을 전달하고 wScan에 스캔 코드를 전달하십시오.

관련 문제