繁体   English   中英

通过命令行更改chm文件中的页面

[英]Change page in chm file via command line

我有一个包含大量帮助按钮的C#项目。 单击这些按钮之一时,它将打开一个帮助文件(Help.chm)到相关页面。 这是为其中一个页面执行此操作的代码:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "hh.exe";
startInfo.Arguments = "Help.chm::/html/97198ffa-adb2-4897-b5e4-5bba54252900.htm";//page id
Process.Start(startInfo);

这可以正常工作,但是现在当用户单击其他帮助按钮(甚至是相同的按钮)时,将打开一个新的帮助文件,从而可能会打开许多​​冗余的chm文件。 如果我的帮助文件已经打开,是否有任何方法可以更改页面? 如果有通过命令行执行此操作的方法,那将是一个不错的起点。

就像之前提到的Helen一样,我真的建议您使用Help.ShowHelp方法。

    private void btnHelpTopic1_Click(object sender, EventArgs e)
    {
        // sHTMLHelpFileName_ShowWithNavigationPane = "CHM-example_ShowWithNavigationPane.chm"
        // This is a HelpViewer Window with navigation pane for show case only 
        // created with Microsoft HTMLHelp Workshop
        helpProvider1.HelpNamespace = Application.StartupPath + @"\" + sHTMLHelpFileName_ShowWithNavigationPane;
        Help.ShowHelp(this, helpProvider1.HelpNamespace, @"/Garden/tree.htm");
    }

    private void btnHelpTopic2_Click(object sender, EventArgs e)
    {
        helpProvider1.HelpNamespace = Application.StartupPath + @"\" + sHTMLHelpFileName_ShowWithNavigationPane;
        Help.ShowHelp(this, helpProvider1.HelpNamespace, @"/Garden/flowers.htm");
    }

请看一下代码和小的GUI(附带快照)。 单击用户按钮后将刷新主题(例如,“帮助主题1”)。 请注意,使用Microsoft HTMLHelp Workshop创建的帮助文件可能需要一个自动同步参数。

C#代码,GUI和打开的帮助文件。

为了进行下载,我提供了一个C# VS2008项目,其中包括上面的代码以及带有不同帮助查看器窗口的帮助文件(不同的CHM文件仅用于展示)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM