문제

나는 창문과 그 풍부한 제어를 가지고 있습니다. 상기 컨트롤을 내 자신의 하나로 바꿀 수 있습니까? 나는 원래의 것과 같이, 즉 창문의 일부가되기를 원합니다.

시나리오를 더 자세히 설명하겠습니다. 현재 텍스트 편집기 인 기능 중 하나가 응용 프로그램을 분해하고 있습니다. 내 현재 (제한된) 환경에는 절차에 대한 다양한 고리가 있으며 그 중 하나는 핸들을 편집기 창에 산출합니다. 다른 하나는 핸들을 RichedIT20A 컨트롤에 window 호스트를 조달 할 수 있습니다.

내가하고 싶은 것은 이것입니다 - 컨트롤을 내 자신의 컨트롤 (.NET 등가)로 덮어 쓰고 앱의 getWindowText 호출을 패치하여 새 것을 사용합니다. 이를 구현하려면 C#/Managed C ++에서 클래스 라이브러리를 작성하여 내 앱 (관리되지 않은 C ++로 작성)으로 가져올 계획입니다.

또한 텍스트 편집기의 임의의 인스턴스가있을 수 있습니다.

도움이 되었습니까?

해결책

너무 복잡하게 들립니다. wndproc 만 교체하십시오 (GWL_WNDPROC), 아무것도 전달 한 다음 HWND를 무효화합니다. 그것은 다시 그리기를 강요 할 것입니다 (WM_PAINT) 그런 다음 캡처 할 수 있습니다. 주인은 아마도 눈치 채지 못할 것입니다 (물론 그들이 푹 빠지지 않는 한).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top