2012-07-31 6 views
0

iPhone 웹 브라우저에서와 마찬가지로 필요할 때 팝업되는 키보드를 만들려고합니다. Windows에서 사용자가 임의의 창에서 텍스트 필드를 활성화 할 때 발생해야합니다.사용자가 Windows에서 텍스트 필드를 활성화 할 때 감지합니다.

검색 후 EnumWindows 및 EnumChildWindows가 모든 컨트롤을 열거하려고 시도하고 있습니다. 그게 작동한다면 (나는 의심 스럽다) 그럼 어떻게 하나가 활성인지 그리고 그 컨트롤이 텍스트 입력을 받아들이는지 어떻게 알 수 있습니까? 아니면 내가하려는 일을 성취 할 수있는 더 좋은 방법이 있습니까?

프로젝트에서 C++ 및 Win32 API를 사용합니다.

EDIT : Rene의 의견에 따라 이제 SetWinEventHook 함수 및 EVENT_OBJECT_FOCUS를 사용하여 활성 (하위) 창 핸들을 얻을 수 있습니다. 하지만 여전히 사용자가 텍스트를 입력 할 수있는 창인지는 알 수 없습니다.

GetGUIThreadInfo를 호출하고 반환 된 hwndCaret 핸들을 SetWinEventHook 콜백에서 반환 한 창과 비교하여 부분적으로 작동합니다. 예를 들어 메모장 및 크롬 주소 표시 줄과 함께 작동하지만 MS Visual Studio 하위 창과는 작동하지 않습니다. 그것은 당신이 설명하는 기능과 같은

+1

윈도우 접근성 기능의 일부가 아닌가요? http://msdn.microsoft.com/en-us/library/ee663255(v=vs.85) – rene

+0

실제로 필요한 기능을 모두 갖춘 접근성 기능처럼 보입니다. 정보 주셔서 감사합니다. – superg

답변

관련 문제