我正在使用WebBrowser控件编写C#应用程序,并且我希望显示的所有内容都来自嵌入式资源 - 不是静态本地文件,而不是远程文件。C#WebBrowser提供脚本和图像的HTML
设置控件嵌入HTML文件的初始文本,此代码由this post启发的伟大工程:
browser.DocumentText=loadResourceText("myapp.index.html");
private string loadResourceText(string name)
{
Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream(name);
StreamReader streamReader = new StreamReader(stream);
String myText = streamReader.ReadToEnd();
return myText;
}
如说是,文件中的HTML简称 - 的JavaScript,像<img src="whatever.png"/>
图片等等,不起作用。我发现了类似的问题here和here,但都没有问究竟是我的意思是,指的是嵌入式资源中的exe,而不是文件。
我试过res://...
和使用<base href='..."
但似乎都没有工作(虽然我可能没有得到它的权利)。
也许(根据我自己对this question的建议),使用一个小小的嵌入式C#web服务器是唯一的方法......但我会认为有一些技巧可以实现这个目标吗?
谢谢!