2010-02-18 6 views
0

나는 기존 창을 가로 채서 내가 소유 한 Winforms의 내용으로 바꾸려고합니다. 재정의하려는 양식으로 양식의 내부 핸들을 교체하는 것이 매우 멋지다는 것을 알아 냈습니다. 누구도 시도한 적이 있는지 궁금해하던가요?기존 Winform HWND를 다른 것으로 바꾸시겠습니까?

건배, 플로리안

답변

0

당신이 교체 할 윈도우의 프로세스 및 스레드에서 실행하는 경우에 쉽게 시도해야한다. 당신이 원래 윈도우의 프로세스와 쓰레드에서 돌아가고 있지 않다면, 작동 가능성이 훨씬 적습니다. 이것이 대체하려는 Windows 셸의 일부인 경우 매우 일 가능성이 거의 없습니다.

창 교체를 수행 할 수있는 경우 원본 창 창이 응답 할 것으로 기대하는 방식으로 부모 창에 응답해야하지만 아마도 이미 생각한 것 같습니다.

부모 창에 원래 자식 창의 창 핸들이있는 경우 대체 시도가 실패합니다 (원래 핸들과 계속 시도합니다). 아이디로 추적하는 경우 윈도우에 동일한 윈도우 ID를 지정하고 SetWindowPos를 사용하여 원래 크기와 위치 및 원래 순서대로 z- 순서를 지정하면됩니다. 원래 아이.

나는 이것이 위험한 행동이지만, 서브 클래 싱과 후킹을 시도 할 수있는 다른 모든 해킹도 마찬가지입니다.

관련 문제