使用命令行参数在特定页面/主题处打开.chm文件

saz*_*azr 8 c++ chm view-helpers

我试图通过在C++中使用系统调用在特定页面/主题上打开.chm文件(Windows帮助文件).

我可以通过以下代码成功打开.chm文件到起始页面,但是如何在帮助文件中打开.chm文件到特定页面/主题?

system("start c:/help/myhelp.chm");
Run Code Online (Sandbox Code Playgroud)

PS:我知道系统是邪恶的/不鼓励的,但系统部分与我传递的.chm文件(它将指定我要打开的页面)的命令行参数并不真正相关,我试图确定.

Sup*_*man 5

Windows SDK 中有一个名为 HtmlHelp 的 API,位于 HtmlHelp.h 文件中。你可以这样调用:

HtmlHelp(GetDesktopWindow(), L"C:\\helpfile\\::/helptopic.html", HH_DISPLAY_TOPIC, NULL);
Run Code Online (Sandbox Code Playgroud)

微软文档- HtmlHelpA功能提供了有关功能的更多信息。HtmlHelp()通常会解析为HtmlHelpA()HtmlHelpW()取决于是否设置了 Unicode 编译器选项。

另请参阅Microsoft Docs-HTML 帮助 API 概述


saz*_*azr 5

好的,参数是这样的:

system(" /Q /E:ON /C HH.EXE ms-its:myChm.chm::myPageName.htm");
Run Code Online (Sandbox Code Playgroud)