2010-08-07 3 views
1

Windows에서 Windows Form 및/또는 WPF 응용 프로그램을 실행하는 방법에 대한 제안을 찾고 있는데, 항상 화면에 표시되도록합니다. 다른 완전히 분리 된 프로세스의 grahpic 컨텍스트 (기본적으로 "자식"프로세스가 단순히 다른 폼 컨트롤 인 것처럼).Windows - 한 프로세스/폼을 다른 UI 내에서 강제로 표시하는 방법

약간의 배경 지식으로 우리는 상속 한 레거시 32 비트 응용 프로그램을 가지고 있습니다.이 응용 프로그램은 각 공급 업체가 64 비트 어셈블리로 제공하지 않는 제 3 자 라이브러리를 사용합니다. 우리의 임무는이 레거시 애플리케이션을 보강하는 것입니다.이 레거시 애플리케이션은 32 비트 프로세스가 제공 할 수있는 것보다 많은 메모리를 필요로하는 새로운 기능으로 64 비트 주소 공간이 거의 필요 없습니다.

내가 아는 한, 우리는 windows xp x64 -> windows 2008r2/win7 x64에서 모든 것을 지원해야 할 것입니다.

나는 모든 제안에 대해 개방적이며 매우 반응하는 모든 사람의 의견에 감사드립니다!

답변

1

나는 당신이 요구하는 것을 달성하기위한 어떤 기술도 모르겠다. 내 권고안은 32 비트 주소 공간에 모든 UI를 유지하고 프로세스 간 통신을 사용하여 메모리 집약 부분을 귀하의 응용 프로그램을 별도의 프로세스로 대체하십시오.

+0

이것이 바람직한 결과를 얻는 가장 논리적 인 방법이라고 생각하지만, 정치적/유산 적 건축 문제가 있으며, 현 시점에서는보기에 썩 좋지 않습니다. 더 새로운 코드는 그 자체의 64 비트 주소 공간 내에 유지되어야 할 가능성이 높습니다. 그래도 빠른 답변을 주셔서 감사합니다. 또한, 우리는 애플리케이션을 완벽하게 분리 할 수있는 옵션을 모색하고 있습니다. WCF를 IPC 메커니즘으로 사용하여 둘 사이에서 통신 할 수 있습니다.이 모든 것이 실패 할 경우 최고의 솔루션 인 것 같습니다. – CORPORATEWAGESLAVE

0

가능성이 '윈도우 후킹을 사용하는 것입니다. "그것은 꽤 야생 물건입니다. http://www.hook-api.com/ 그 용어에 대한 검색 당신은 몇 가지 흥미로운 물건을 찾을 수 있습니다.

후킹의

일반 설명. http://en.wikipedia.org/wiki/Hooking

또 다른 가능성은 Windows 윈도우/환경에서 비 Windows 프로그램을 실행할 수있는 Citrix와 같은 타사 프로그램을 사용하는 것입니다. 아마도 Widnows 앱에서이 프로그램을 제어 도구로 실행하는 것일 수 있습니다. 예전 앱을 '비 윈도우'로 생각할 수 있습니다.

HTH

+0

감사합니다. 당신을위한 제안. 우리는 이미 Citrix의 API를보고 가능한 엔지니어를 찾고 있습니다. 나는 창문 매커니즘이 제공하는 것을 살펴보고 거기에 관심있는 것이 있는지 살펴볼 것이다. 꽤 흥미있는 재료! – CORPORATEWAGESLAVE

관련 문제