2010-11-28 3 views
2

캐럿이있는 텍스트 상자의 핸들을 다른 프로그램에서 사용하고 싶습니다. 내가 찾을 수있는 모든 방법은 "EnumChildWindows"가있는 창에서 컨트롤 목록을 가져온 다음 "편집"컨트롤을 검색하는 것입니다 (텍스트 상자가있는 모든 프로그램에서 작동하지 않습니다). 내가 어떻게 캐럿에 사용자가 쓰고있는 일을 찾을 생각이 없다. 난 정말 그것으로 붙어있어 .. :( 고맙습니다 많이, Shiran.API - 다른 프로그램에서 캐럿이있는 텍스트 상자의 핸들을 얻는 방법?

답변

1
당신은 이동해야합니다

GetForegroundWindow()로 시작하여 현재 최상위 창 핸들을 가져온 다음 GetThreadWindowProcessId()를 사용하여 해당 창을 소유 한 스레드의 ID를 가져온 다음 GetGUIThreadInfo()를 호출하면 해당 창에 대한 쓰레드가 소유 한 윈도우 GUITHREADINFO.hwndCaret 멤버는 캐럿을 소유하고있는 윈도우에 대한 핸들을 제공합니다. 텍스트 박스 일 필요는 없습니다 btw.

선언문은 pinvoke.net을 방문하십시오. .

+0

작동합니다! 정말 고마워!!! :) – Shiran