2012-09-09 2 views
0

DLL에서 DirectShow 렌더 윈도우를 팝업하는 방법이 있습니까? 동일한 코드는 .exe 응용 프로그램에서 비디오 렌더 창을 팝업합니다. DLL은 라이브러리이므로 필자가 그래픽 방식의 피드백을 사용할 수는 없습니다. 글쎄, 그것은 재난에 대한 reciepe이지만, 그것은 단지 디버깅을위한 것입니다.DirectShow Render window DLL,

나는 이것을 보았습니다.

How to show a simple modeless Window from a native C DLL

제안의 작동겠습니까?

답변

1

DLL에서 DirectShow API와 상호 작용하지 못하게하는 제약 조건이 없습니다. 거기에서 동일한 GUI를 모두 수행 할 수 있습니다. 또한 해킹이 필요하지 않습니다. 즉, 창을 만들고, DirectShow 그래프와 필터를 만들고, 모든 것을 설정하고 같은 방식으로 작동합니다.

+0

이것은 제 설정입니다. dll에있는 관리되지 않는 항목을 호출하는 .NET/C# 프로젝트가 있습니다. .exe에서 동일한 스 니펫을 실행하면 코드가 작동하고 렌더링 창이 표시됩니다. 흥미로운 것은 렌더러를 바꿀 때입니다. 렌더링 한 것이 아니라 데이터를 소비하고 아무 것도하지 않습니다. 샘플 그래버와 같습니다. 데이터는 필터를 통과합니다. 하지만 렌더러를 놓으면 IMEMPin의 첫 번째 수신 기능에서 흐름이 멈 춥니 다 (블록). 그래서 코드가 dll에 있기 때문에 렌더 윈도우가 없기 때문에 데이터가 흐르지 않는다고 생각했습니다. –

+0

DLL에서 작동하지 않는 이유가 있어야합니다. 그러나 "DLL"때문이 아니라 "당신"때문입니다. 거기에 뭔가 잘못 되었기 때문입니다. –