Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文件写入内存并获取指向它的url_C#_File_Memory_Chm - Fatal编程技术网

C# 将文件写入内存并获取指向它的url

C# 将文件写入内存并获取指向它的url,c#,file,memory,chm,C#,File,Memory,Chm,我有一个*.exe文件程序和一个*.chm帮助文件 我已经将帮助文件作为资源嵌入到我的exe中,现在我想打开它,以便用户可以看到帮助 据我所知,唯一的方法是使用HelpProvider类,但它只接受url作为文件地址。因此,我必须将我的resource*.chm文件写入某个地方,并将其地址提供给提供者 但是,我不想将文件写入磁盘,所以我想我应该使用MemoryStrem或其他东西,然后将其写入内存。但是如何在内存中获取该文件的url呢?我想您需要将该文件保存到磁盘才能打开.chm文件 一个想法可

我有一个*.exe文件程序和一个*.chm帮助文件

我已经将帮助文件作为资源嵌入到我的exe中,现在我想打开它,以便用户可以看到帮助

据我所知,唯一的方法是使用HelpProvider类,但它只接受url作为文件地址。因此,我必须将我的resource*.chm文件写入某个地方,并将其地址提供给提供者


但是,我不想将文件写入磁盘,所以我想我应该使用
MemoryStrem
或其他东西,然后将其写入内存。但是如何在内存中获取该文件的url呢?

我想您需要将该文件保存到磁盘才能打开.chm文件

一个想法可能是托管与.chm联机使用的未编译html,然后打开浏览器查看它?浏览器是否可以嵌入到您的应用程序中?
这将允许您在需要时更新帮助内容。

我怀疑您需要将文件保存到磁盘以打开.chm文件

一个想法可能是托管与.chm联机使用的未编译html,然后打开浏览器查看它?浏览器是否可以嵌入到您的应用程序中?
这将允许您在需要时更新帮助内容。

为什么要将该文件作为资源嵌入?@ChrisBint-确实@ChrisBint,我只想要一个*.exe文件。这是一项坚定的要求。我不应该把它作为一个嵌入式资源来做吗?你可以在你的应用程序中嵌入一个httpserver并运行它,然后你可以让/helpfile或其他任何东西返回资源,但它看起来很有用hassle@BugFinder,我认为嵌入chm会像
ShowHelp(这是Resources.MyHelpFile)
一样简单,但是,唉,我需要一个指向某处的url,我真的希望它指向内存。为什么要将该文件作为资源嵌入?@ChrisBint-的确@ChrisBint,我只想要一个*.exe文件。这是一项坚定的要求。我不应该把它作为一个嵌入式资源来做吗?你可以在你的应用程序中嵌入一个httpserver并运行它,然后你可以让/helpfile或其他任何东西返回资源,但它看起来很有用hassle@BugFinder,我认为嵌入chm会像
ShowHelp(这是Resources.MyHelpFile)
一样简单,但是,唉,我需要一个指向某个地方的url,我真的希望它指向内存。