我在哪里可以下载Microsoft HTML Help 2编译器(或绑定SDK)?我想使用Sandcastle帮助文件生成器从我的编程项目生成HTML 2文档,Sandcastle Guided Installation向导指示我下载该组件.
关于从Sandcastle主页获取的HTML 2的摘录:
HTML Help 2.x输出包括一组有效的集合文件和一个H2Reg.exe配置文件,以简化帮助文件的部署和集成到现有集合(如Visual Studio使用的集合)中.
我真的很享受我的时间与git.
我正在使用我认为非常相似的设置的2台机器上运行
在我的笔记本上
当我SomeCommand从CLI 输入"Git help "时,我的笔记本电脑在我的浏览器中启动了html帮助,我可以自由阅读我询问的任何帮助元素.
在我的桌面上
CLI响应就像是要执行相同操作,但没有切换到浏览器并且没有启动任何帮助
我该怎么做才能让我的帮助回到桌面上?
注意:我正在通过console2运行bash shell,但是这个问题似乎影响了默认的bash shell,它也可以通过explorer中的上下文菜单运行.
在Delphi XE2程序中,如何跳转到CHM帮助文件主题中的锚点?锚具有以下格式(从HTML HelpViewer中显示CHM文件的主题页面的源中提取):
<a name="my_anchor_id"></a>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
Application.HelpJump('MyTopicName.htm#my_anchor_id');
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用:它确实跳到了这个主题,但只是跳到主题的顶部,而不是主题,这是几个向下滚动的页面.
我正在对传统MFC应用程序执行维护.我们需要在"帮助"对话框中禁用"打印"按钮.没有打印机连接到系统,如果用户按下帮助窗口中的"打印"按钮,应用程序将崩溃.
代码只使用标准HtmlHelpA方法打开Windows帮助对话框:
void CNiftyView::OnHelp()
{
CString csHelpFile;
csHelpFile.Format( "%s/NiftyHelp.chm", NiftyDoc::GetHelpPath() );
::HtmlHelpA( m_hWnd, csHelpFile, HH_HELP_CONTEXT, IDH_NIFTY_SECTION );
}
Run Code Online (Sandbox Code Playgroud)
我已经找到了一些信息,我们可以使用帮助HTML样式表(http://www.sagehill.net/docbookxsl/HtmlHelp.html)中的一些代码来取消打印按钮.但这需要重新编译帮助文件,我宁愿不这样做.我还发现了一些信息,说明你可以通过操纵每个窗格的HH_WINTYPE结构来自定义HTML帮助查看器,但是没有关于你如何实际操作的信息(http://msdn.microsoft.com/en-us/library/ms524435%28v = vs.85%29.aspx).
有没有办法以编程方式在HTML帮助查看器中禁用该打印按钮?
当运行诸如Developer Express组件之类的delphi组件安装程序时,它将使用h2reg和INI文件以及一些宏魔术函数将html帮助文件注册到Delphi IDE中。如果我是Delphi组件的开放源代码或商业作者,并且想提供一个注册html-help的安装程序,我该怎么做?
在非常旧的Delphi版本(2007之前)中,有一个用于注册额外的winhelp内容的工具。但是近年来,尽管许多大型供应商(如开发人员Express)仍在为他们的组件提供帮助,可以使用IDE上下文帮助(按F1键)进行访问,但是在Delphi 2007及更高版本(包括XE6)中似乎并没有完成此过程的过程已得到充分记录,因此组件作者通常会忽略内置在帮助中的Delphi IDE。
我发现一个名为的第三方实用程序h2reg可能与此有关,但是我无法发现在此处显示内容的秘密:

我相信我知道难题的其中几个,而且我有一个来自Developer Express组件的工作中的.ini文件示例,但是我无法弄清楚如何将它们拼在一起。我认为这对于所有Delphi组件开发人员来说都是一个有用的事实,因此我在这里提出这个问题。
一个相关的问题询问如何修复内置的东西。我想进一步询问如何注册自己的html帮助(.hxs, .hxc,*。hxt)文档。
解决方案的一部分似乎是了解H2REG的语法,如下所示:
c:\path\to\H2Reg.exe -r cmdfile=c:\path\to\MyH2Reg_Cmd.ini
Run Code Online (Sandbox Code Playgroud)
该INI文件中保留的内容仍然未知,因此它会显示在Delphi XE6中。
Delphi - 如何在Delphi XE应用程序中使用CHM HTML帮助文件?
http://edn.embarcadero.com/article/27842文章介绍了如何使用CHM文件.我做了那里描述的所有步骤.
添加
const
HH_DISPLAY_TOPIC = $0000;
HH_DISPLAY_TOC = $0001;
HH_CLOSE_ALL = $0012;
function HtmlHelp(hwndCaller: HWND;
pszFile: PChar; uCommand: UINT;
dwData: DWORD): HWND; stdcall;
external 'HHCTRL.OCX' name 'HtmlHelpA';
Run Code Online (Sandbox Code Playgroud)
和公共职能HH`
function TForm1.HH(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
begin
if (Command = 0) and (Data = 0) then
HtmlHelp(Application.Handle,
PChar(Application.HelpFile),
HH_DISPLAY_TOC, 0);
CallHelp := False;
end;
Run Code Online (Sandbox Code Playgroud)
在FormCreate中
HelpDir:=ExtractFilePath(Application.EXEName);
Application.HelpFile:=HelpDir+'Sample.chm';
Application.OnHelp := HH;
Run Code Online (Sandbox Code Playgroud)
在button1 OnClick事件上添加了以下代码:
HH(0, 0, dummy);
Run Code Online (Sandbox Code Playgroud)
点击button1后,光标会变成沙漏一段时间,而这就是全部.
我做错了什么?
以及如何从DelphiXE应用程序中使用CHM帮助文件?
我正在为安装程序编写构建脚本:http://github.com/imaginationac/belvedere.
安装包中包含.chm格式的帮助.我可以使用Microsoft HTML Help Workshop手动编译,但是通过阅读文档,似乎没有任何方法,比如从命令行编译.我做了一个快速的谷歌搜索(并在这里搜索),并没有找到一个确切的解决方案(或一个不花钱的人).
如果我必须提示构建器手动完成它,那不是什么大不了的事,但它确实在整个自动构建脚本的想法中扭曲了.
问题的要点是:是否有像Microsoft HTML Help Workshop这样的工具可以作为自动构建过程的一部分进行集成?
我正在尝试为新应用程序(桌面WPF,还有asp.net网站)规划帮助功能.我花了一些时间来研究这个,似乎没有太多的信息.我已经看到了各种解决方案,例如此处,但在继续之前,最好先向此论坛寻求帮助.
是微软的HTML Help Workshop的仍然是一个很好的路要走?是否有一些特定的帮助系统解决方案是很多人的首选,或者是有多少程序员和解决方案?
html-help ×8
chm ×5
delphi ×3
windows ×2
anchor ×1
asp.net ×1
delphi-xe ×1
delphi-xe2 ×1
delphi-xe6 ×1
git ×1
help-system ×1
mfc ×1
msysgit ×1
sandcastle ×1
winapi ×1
wpf ×1