2010-01-28 5 views
3

"모든 CPU"에 대해 컴파일 할 수있는 C# .Net 응용 프로그램을 만들고 있습니다. 이 응용 프로그램의 UI에 특정 ActiveX 컨트롤을 포함하고 싶지만 사용하려고하는 ActiveX 컨트롤은 32 비트를 지원하지 않습니다. 이 컨트롤을 작동시키는 데 사용할 수있는 트릭이나 해결 방법이 있습니까?64 비트 .NET App에서 32 비트 ActiveX 컨트롤

웹 브라우저 컨트롤에 ActiveX 컨트롤을 포함시키는 것은 어떻습니까? 이것도 작동할까요?

답변

2

별도의 32 비트 프로세스에서 ActiveX 컨트롤을 실행해야합니다. 어려워 질 것입니다. 64 비트 프로세스의 UI에 포함되지 않는 자체 창을 가질 것입니다. SDK 문서에서는 명시 적으로 금지되어 있지만 SetParent() API 함수에 내장 된 Windows 3 appcompat를 활용할 수 있습니다. 효과가있을 수 있습니다.

프로세스간에 의사 소통이 어렵거나 (Remoting 또는 WCF가 필요함) 많은 어려운 부분은 예외를 처리합니다. 생존하는 다른 사람과 폭격을 가하는 과정 하나가 잘못되었다는 것을 결코 알지 못하는 것은 꽤 될 수 없습니다.

아마도 플랫폼 대상 옵션이 매력적인 소리를 내기 시작합니까?

2

64 비트 응용 프로그램에서는 32 비트 구성 요소를로드 할 수 없지만 자체 프로세스에서 구성 요소를 래핑하고 IPC를 사용하여 구성 요소의 기능을 활용할 수 있습니다. 물론 이것은 실제 구성 요소에 따라 실행 가능하지 않을 수 있습니다.

관련 문제