2011-10-05 5 views
2

alt-tab 키보드 후크를 개발하기 위해 샘플 코드를 살펴 봤지만 모든 것을 이해하지 못하는 것 같습니다. 나는 .dll이 쓰여지고 어떻게 든 모든 프로세스에 주입된다는 것을 알고 있습니다.C++ Alt-Tab Hook

dll을로드 할 때이 작업을 수행하는 방법에 대한 가이드가 있습니까?

+0

키보드 걸이가이 문제에 대한 올바른 대답인지 잘 모르겠습니다. 원래 Alt + Tab 단축키를 등록한 프로세스에서 메시지 후크를 사용하는 경향이 있습니다. – CodesInChaos

+0

@CodeInChaos :'Alt + Tab'은 열려있는 창을 토글하는 시스템 정의 핫키입니다. 응용 프로그램 정의 단축키가 아닙니다. –

+0

@SirRoot : 정확히 그것에 대해 이해하지 못합니까? 꽤 간단합니다. DLL은 키보드 이벤트를 처리하기위한 콜백 함수를 구현하고, DLL 또는 EXE는 SetWindowsHookEx()를 호출하여 해당 콜백을 OS에 등록합니다. 후크는 연결되어 있으므로 콜백이 호출되면 체인의 다음 후크로 데이터를 전달하기 위해'CallNextHookEx() '를 호출해야합니다. 키보드 연결을 마쳤 으면'UnhookWindowsHookEx()'를 호출하여 후크를 해제하십시오. 그것에 대해 혼란스러운 것은 무엇입니까? –

답변

1

키보드 후크는 실제로 공유 리소스입니다. 즉, 서로 쾅쾅 거리지 않는 프로그램에 의존합니다. 체인에 하나를 삽입하는 것은 항상 위험합니다. 후크가 무엇인지 물어봐도 될까요? 후크로 궁극적으로 성취하려는 것은 무엇입니까?

+0

Windows XP가 포함 된 일부 실험을하고 있기 때문에 소프트웨어를 닫지 않도록하고 싶습니다. 나는 alt-tab, control-alt-del, 또는 무엇이든을 사용하여 사용자가 시스템의 주요 용도를 뒤지고 OS 주위에서 물고기를 잡는 것을 원하지 않는다. 다른 방법이 없다면 키보드 필터 나 훅이 alt-tab을 막는 유일한 방법이라고 읽었습니까? – SirRoot

관련 문제