2009-10-27 7 views
1

을 전달하는 키 스트로크 변경 winapi 키보드 후크를 사용하여 키 입력을 편집 할 수 있습니까?후크 (c/C++)

사용자가 키 'A'

내 기능은 가상 키 코드 (단지 예에 1을 추가를 누르면 : 글쎄, 난 같은 것을 할 싶어

키보드 훅하지만 뭔가를 .. neccesary하지)

'A'는 'B'

및 'B'의 대상 애플리케이션에 전송된다

감사하게!

답변

1

먼저 Keyboardhook이 필요합니다. 필터를 설치하고 필터 함수는 키보드 후크 (hook)의 시간에 가상 키 코드와 키보드의 상태를 수신합니다. 그런 다음 가상 키 코드를 변경할 수 있습니다.

추가 링크 :

http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx

http://msdn.microsoft.com/en-us/library/ms644984(VS.85).aspx

+0

나는 당신이 올바른지 이해한다면, 이미 이것을 시도해 보았습니다. keyboardproc에서받은 KBDLLHOOKSTRUCT의 가상 코드를 변경하는 것입니까? – shuwo

+0

내가 읽은 것에서 그게 당신이해야 할 일입니다. –

+0

네, 정확히 그런 식으로 잘 작동합니다 (한 번 그런 식으로했습니다). 대부분의 사람들은 악의적이지 않으면 객관적인 것을 알게 될 것이므로 적어도 시스템 전반에 걸친 훅을 설치하면 안티 바이러스 소프트웨어가 경고를 일으킬 가능성이 크다는 점에 유의해야합니다. 적어도 여기에서는 경보를 울리지 않는 것 같다.) – Damon

0

난 당신이 키보드 훅을 적용하여 사용자가 입력 한 키 입력을 먹고 그것을 할 수 있다고 생각합니다. 및 원하는 문자의 key_event 생성 중.

0

KBDLLHOOKSTRUCT의 가상 키 값을 직접 변경할 수 없습니다. 수정 된 가상 키 값을 사용하여 메시지를 보낸 후 후크 함수에서 1을 반환하십시오.