2013-10-18 4 views
1

프로세스 M은 기본 폼 (WPF)을 보여줍니다. 프로세스 M은 다른 프로세스 D를 시작합니다. 프로세스 D는 대화 상자 (WPF)를 보여줍니다. 기본 양식을 대화 상자의 상위로 만들 수있는 방법이 있습니까? 프로세스는 64 비트 OS에서 서로 다른 비트 니스를가집니다.C#/WPF의 두 프로세스에 대한 부모 폼/창 설정

TopMost 플래그를 사용하고 싶지 않습니다. 왜냐하면 대화 상자를 모든 주요 항목 앞에두고 싶지 않기 때문입니다. 단지 주 양식 앞에 있습니다.

이러한 프로세스간에 데이터 교환을 구현할 수 있으므로 기본적으로 모든 것이 가능합니다. 창 핸들을 다른 프로세스 또는 유사한 것으로 전송합니다. PInvoke() 또는 안전하지 않은 코드도 괜찮습니다.

제안은 Vista SP2 이상에서 작동합니다. 감사.

답변

0

보기를 만든 스레드에서만보기에 액세스 할 수 있다는 명확한 진술이 있기 때문에 아니오라고 대답 할 것입니다.

그래서 다른 스레드에 의해 생성 된 창은 관련 될 수 없습니다. 죄송합니다.

이 문서 확인 : http://msdn.microsoft.com/en-us/library/ms741870.aspx (여러 섹션 창, 여러 스레드).

+0

글쎄, 나는 그런 것들이 존재하는 한 생각 : http://blogs.msdn.com/b/changov/archive/2009/10/26/hosting-wpf-ui-cross-thread-and-cross- process.aspx를 사용하면 창 부모를 설정하는 데 너무 많은 문제가 발생할 수 없습니다. –

+0

하나의 윈도우를 다른 윈도우의 부모로 설정하는 뷰 내에서 UserControl을 호스팅하는 것은 동일하지 않습니다. 첫 번째 상호 작용은 '크로스 스레드'기능을 필요로하지 않지만 두 번째 상호 작용은 필요하지 않습니다. –

관련 문제