从资源中打开 CHM 文件 c#

Open CHM File from Resources c#

我有一个 CHM 文件和一个帮助菜单,我想将该文件添加到资源中,但是当我将它添加到资源中时它不起作用。 我尝试添加到资源中的子文件夹,但仍然没有用

void HelpToolStripMenuItemClick(object sender, EventArgs e)
        {
        string filePath = Directory.GetCurrentDirectory() + "\Help\abc.chm";

    try
    {
        //Check if already exists before making 
        if (!File.Exists(filePath))
        {
            var data = Properties.Resources.abc.chm;
            using (var stream = new FileStream("abc.chm", FileMode.Create))
            {
                stream.Write(data, 0, data.Count());
                stream.Flush();
            }
            MessageBox.Show("file made");
        }
    }
    catch
    {
        //May already be opened

    }

    Help.ShowHelp(this, filePath);

}

即使安装了安装程序,我也想工作 在任何计算机上

如果有人告诉我如何嵌入到我的设置中,我会更好

首先,将帮助文件添加到您的项目并打开该文件的属性 window。在 CopyToOutputDirectory 中,选择“始终复制”或“更新时复制”。

这将确保,当您 debugging/testing 您的应用程序时,它将文件复制到 bin 文件夹。

Debug 模式启动项目并检查 bin/debug 输出文件夹。对 Release 模式和输出文件夹执行相同操作。 CHM 应驻留在此处并包含在您的部署中。

调用 CHM 的示例代码片段:

private const string sHTMLHelpFileName = "CHM-example.chm";
...

private void button1_Click(object sender, EventArgs e) {
  System.Windows.Forms.Help.ShowHelp(this, Application.StartupPath + @"\" + sHTMLHelpFileName);
  }

为了下载,我提供了一个 C# VS2008 Project,包括上面的代码和具有不同帮助查看器的帮助文件 windows(不同的 CHM 文件仅用于展示案例)。