我用quick chm做了一个chmhelp.chm文件。在DELPHI中用以下语句已经实现了用户按下F1时就弹出帮助页面。
if Key=VK_F1 then
ShellExecute(handle,'open','CHM帮助/chmhelp.chm',Nil,Nil,SW_SHOWNORMAL); 而且,我已经做好了索引。打开帮助页面后可以正常使用索引。我在一个form中把helpkeyword属性设置为“更改口令”,把helpfile属性设置为“CHM帮助/chmhelp.chm”,把helptype属性设置为htkeyword.以实现用户在哪个页面按F1,打开的帮助就跳到哪一页上的时候,但运行时,按下F1后却提示:CHM帮助/chmhelp.chm不是windows帮助文件,或者该文件已被破坏。但是,仍然可以打开帮助文件,只是没有定位到相应位置。
是不是设置helpkeyword的方法只适用于.hlp文件呢?那我该怎么实现定位呢
if Key=VK_F1 then
ShellExecute(handle,'open','CHM帮助/chmhelp.chm',Nil,Nil,SW_SHOWNORMAL); 而且,我已经做好了索引。打开帮助页面后可以正常使用索引。我在一个form中把helpkeyword属性设置为“更改口令”,把helpfile属性设置为“CHM帮助/chmhelp.chm”,把helptype属性设置为htkeyword.以实现用户在哪个页面按F1,打开的帮助就跳到哪一页上的时候,但运行时,按下F1后却提示:CHM帮助/chmhelp.chm不是windows帮助文件,或者该文件已被破坏。但是,仍然可以打开帮助文件,只是没有定位到相应位置。
是不是设置helpkeyword的方法只适用于.hlp文件呢?那我该怎么实现定位呢
解决方案 »
- 我写了一个程序,想在电脑启动时,该程序也一起启动,不知如何实现?
- 100分求办公自动化管理系统,c/s结构。
- 请说说inc和dec的用法?
- 那位有Twindowsmediaplay控件,或者在那里下载\在线等
- 我想在QREPORT中创建QRLABEL和QRDBTEXT控件,怎么做?
- 我在用程序创建快捷方式出现:“access violation address 00440667 in module"ccj.exe".Read of adsress ffffffff."错
- 关于MDI窗口背景图的加载问题?
- 程序设定Windows的默认打印机
- 字符串在内存中如何不被调试器(OllyDBG)看到 (程序验证注册过程)
- 200分提问,有关新控件中图片的显示问题
- 大家来谈谈自己的工作环境吧
- 怎样在程序中控制wwDBGrid中的某些字段是否显示以及显示的顺序?
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);
我都试过了
ShellExecute(handle,'open','CHM帮助/chmhelp.chm','更改口令','更改口令',SW_SHOWNORMAL);
ShellExecute(handle,'open','CHM帮助/chmhelp.chm','更改口令', Nil,SW_SHOWNORMAL); ShellExecute(handle,'open','CHM帮助/chmhelp.chm',Nil,'更改口令',SW_SHOWNORMAL); 可惜跳出的帮助页面仍然是显示第一条帮助主题,没有定位
探索中
我给你发的消息收到没
我知道你的方法是正确的,因为我在网上也看到过这个方法,只是当时少了个.pas文件没有 探索中。。
这只是建议,不影响大局
HtmlHelp(handle,'d:\hong\程序\湖工项目\收费程序\收费珍藏版\CHM 帮助\chmhelp.chm::/CHM帮助\网页文件\更改口令.htm',
HH_DISPLAY_TOPIC, nil); 编译也通过了,但是按F1,帮助窗口就是不出来
思考中。
不过helpkeyword属性没有设置,应该不用了吧
帮助文件的目录结构如下
D:\chm帮助\chmhelp.hhp
D:\chm帮助\chmhelp.hhk
D:\chm帮助\chmhelp.hhc
D:\chm帮助\网页文件\更改口令.htm这样生成的chmhelp.CHM才能用我给你的方法调用::/CHM帮助\网页文件\更改口令.htm'
HtmlHelp( handle, 'd:\hong\程序\湖工项目\收费程序\收费珍藏版\CHM 帮助\chmhelp.chm::/CHM帮助\网页文件\更改口令.htm',
HH_DISPLAY_INDEX, DWORD_PTR(PChar('更改口令))); 结果一样,编译都通过了,运行时,按F1,没有反应
现在.chm文件可以打开了,但是打开后怎么又显示“该页无法显示”
正在探索中
谢谢 jackystar 我做的帮助文件跟你说的好象有点不一样。我的是这样的:
..\CHM帮助\chmhelp.chm
..\CHM帮助\chmhelp.qls
..\CHM帮助\网页文件\更改口令.htm
...
是用QUICK CHM做的帮助
HtmlHelp( handle, 'd:\hong\程序\湖工项目\收费程序\收费珍藏版\CHM 帮助\chmhelp.chm::/CHM帮助\网页文件\更改口令.htm',
HH_DISPLAY_INDEX, DWORD_PTR(PChar('更改口令)));
else
showmessage('help file not exists');试试看
也是路径不对的
那::后这样写就可以了
::/网页文件\更改口令.htm'