我需要制作一个Windows应用程序,在加载时,我需要在WebBrowser中播放Flash (.swf)文件。但我可以直接从硬盘播放Flash文件到WebBrowser控件。这里我需要在Resources文件夹中播放.swf文件,并将其加载到WebBrowser控件中。请帮助。
System.Reflection.Assembly thisExe;
thisExe = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream file = thisExe.GetManifestResourceStream("Namespace.Filename");
byte[] data = Properties.Resources.Filename;
file.Read(data, 0, data.Length);
添加flash(.swf)文件作为嵌入式资源。
使用这个方法,它会像你期望的那样工作。
private void Form1_Shown(object sender, EventArgs e)
{
Stream sr = Assembly.GetExecutingAssembly().GetManifestResourceStream("namespace.file.swf");
if (sr == null) return;
var reader = new BufferedStream(sr);
string tempfile = Path.GetTempFileName() + ".swf";
var data = new byte[reader.Length];
reader.Read(data, 0, (int)reader.Length);
File.WriteAllBytes(tempfile, data);
webBrowser1.Url = new Uri(tempfile);
}
希望能有所帮助。