2010-06-28 3 views
1

기본적으로 순차적으로 실행되는 두 개의 응용 프로그램이 있습니다 (두 번째 응용 프로그램은 첫 번째 응용 프로그램에서 시작하고 첫 번째 응용 프로그램은 바로 뒤에서 종료 함). 두 번째 응용 프로그램에서 만든 첫 번째 응용 프로그램 창 소유권을 전달하고 싶습니다. 윈도우의 실제 내용은 전달 될 필요가 없습니다. DirectX가 그려 넣은 것입니다.응용 프로그램이 다른 응용 프로그램에서 창 소유권을 가질 수 있습니까?

적어도 창 닫기/열기 애니메이션을 사용하지 않도록 설정하는 것이 바람직하지만 덜 바람직하기 때문에 원하는 효과가 달성되는 것처럼 보입니다.

(이 바닐라의 Win32 API를 사용하여, C이다.) 대신에 분리 된 애플리케이션

답변

2

첫 어플리케이션에 의해 로딩 될 DLL을하고 그 안에서 실행.

+0

여기에 뭔가가 누락되었을 수 있지만 어떻게 도움이 될까요? – torak

+0

첫 번째 응용 프로그램은 dll을로드하고이 DLL에서 코드를 실행합니다. 응용 프로그램을 종료 할 필요가 없으며 자원 (창과 같은)을 재사용 할 수 있습니다. –

+0

일반적으로이 대답은 정상적으로 작동하지만 문제가되는 프로젝트의 경우 실제로 두 번째 응용 프로그램의 소스 코드가 없습니다. 후크에서 원하는 동작을 구현할 계획을 세웠습니다. 일반 실행 파일을 모듈로로드하는 방법을 알고 있다면 제대로 작동 할 수 있습니다. (나는 이것이 매우 어렵다고 생각합니다.) – ramsey

1

WindowProc 함수가 닫는 프로그램의 메모리 주소 공간에 있기 때문에 문제가 발생할 것으로 생각됩니다.

RegisterClass에 대한 설명서 하단의 두 번째 발언도 간략히 살펴보면 많은 희망이 없습니다.

당신이 설명한 것에 대해 제안 할 수있는 유일한 해결 방법은 두 번째 응용 프로그램이 해당 창에서 끝날 때까지 첫 번째 응용 프로그램을 닫지 않는 것입니다.

0
당신의 DLL이 접선 검사에 대한 자세한 내용은 Windows DLL

경우 당신이 응용 프로그램 창에서 보낸 여러분의 DLL 캡처 API 창 전화를 걸고 응답하는 API 후킹을 사용할 수 있습니다

:

Hooks Overview

관련 문제