2009-11-09 2 views
1

플래시 무비를 내 WinForm에로드하기 위해 플래시 10 액티브 컨트롤을 사용하고 있습니다. 불행히도, 경로 만 필요합니다. 내가 뭘하려는거야 EmbedResource에서 얻을 수있는 스트림에서 swf를로드 할 수 있도록 swf를 내 exe에 삽입 할 수 있습니다. A) 경로에 대해 걱정할 필요가 없습니다. B) 가지고 있지 않습니다. 내 swf 꽤 노출 - 사용 및 배포 모두 간단합니다.먼저 파일에 쓰지 않고 C# EmbeddedResource에서 SWF를로드하려면 어떻게해야합니까?

나는 f-in-box을 알고 있지만, 내 프로젝트에 또 다른 의존성을 추가하고 싶지 않습니다. 경로를 사용하지 않고 swf를 기본 ActiveX 컨트롤에로드하는 방법이 있습니까?

저는 C#과 .Net 3.5sp1을 사용하고 있습니다.

답변

2

해당 경로는 항상 경로입니까? 아니면 URL 일 수 있습니까? HttpListener (또는 유사)을 사용하여 HTTP 요청에 대한 응답으로 파일을 다시 스트림하는 임시 로컬 호스트 웹 서버를 설정하는 것이 매우 간단해야합니다.

또 다른 가능성은 파이프라고 할 수 있습니다. 명명 된 파이프를 파일처럼 여는 컨트롤을 설득 할 수 있는지 궁금합니다. (그들은 결국 논리 파일 경로를가집니다). 나는 이걸 간신히 만져 보았습니다. 그래서 그것이 성공할 지 100 % 말할 수는 없습니다.

+0

입력 해 주셔서 감사합니다. URL을 받아 들일 수 있어야한다고 생각하지만 localhost 웹 서버를 매우 클라이언트 친화적으로 설정하고 있습니까? 그리고 명명 된 파이프는 단순히 한 프로세스에서 다른 프로세스로 정보를 전달하기위한 것입니다. Flash의 ActiveX 컨트롤은 문자열 만 사용합니다. – McAden

+0

완전한 웹 서버를 설정할 필요가 없습니다. 단순한 미리 정의 된 헤더와 swf 컨텐츠로 응답하는 tcp 리스너입니다. 그러나 무료 TCP 포트와 백그라운드 작업자가 필요합니다. 문제가 발생할 가능성은 있지만 로켓 과학이 아닙니다. –

+0

이것이 우리가가는 길인지는 모르겠지만 이것이 내가 본 가장 근접한 해결책입니다. 감사. – McAden

0

플래시 10이 res protocol에서 웹 콘텐츠를로드 할 수 있는지 여부를 알 수 없습니다. 하지만 Windows Forms 및 WPF의 웹 브라우저 컨트롤이이를 지원한다고 생각합니다.

네이티브 리소스를 만들려면 네이티브 리소스의 편집기가 필요합니다. Visual C++에 하나 있습니다. Windows SDK의 RC.exe를 사용하여 C# 프로그램에서 링크하기 전에 res 파일을 컴파일 할 수 있습니다.

업데이트 : IE 용 플래시 플러그인이 res 프로토콜을 지원하지 않는 것 같습니다. .swf 파일을 리소스 파일에 포함시키고 movie 매개 변수를 사용하여로드하도록합니다. 플래시 파일을 웹 보관 파일 (.mht)에 포함시키고 .mht 파일을 리소스에 추가하십시오.

+0

나는 입을 열어보고 작동시키지 못했습니다. 나도 그 웹의 예를 보지 못했다. 그래도 고마워. – McAden

관련 문제