再提*.chm帮助文件的调用,小弟愚,请指点!!!
http://www.csdn.net/expert/topic/72/72380.shtm
这个页面我去过了,按照上术方法我仍实现不了。
1、CBuild下的Bin目录下有implib.exe
implib.exe hhctrl.lib hhctrl.ocx
将hhctrl.lib加入到工程中。
在程序中使用:
HtmlHelp(GetDesktopWindow(),AnsiString(c:\\windows\\help\\update.chm::/ie4_intro_web_desktop.htm").c_str(),
HH_DISPLAY_TOPIC,NULL);
我的程序如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HtmlHelp(GetDesktopWindow(),AnsiString("F:\\skyle\\bcb\\pratise\\98\\21ic001.chm::/ie4_intro_web_desktop.htm").c_str(),HH_DISPLAY_TOPIC,NULL);
}
//---------------------------------------------------------------------------
我已把hhctrl.lip加入到工程内,并hhctrl.ocx在程序所目录下。
但运行后没有任何,根本无法不会弹出21ic001.chm文件的。
为什么?
2、
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HMODULE hLoadLib;
HWND (*proc)(HWND hwndCaller, LPCSTR pszFile, UINT uCommand, DWORD dwData);
hLoadLib=LoadLibrary("Hhctrl.ocx");
if (hLoadLib==NULL)
{
ShowMessage("系统不支持HTMLHELP帮助。");
return;
}
proc=(HWND (*)(HWND hwndCaller, LPCSTR pszFile, UINT uCommand, DWORD dwData))GetProcAddress((HINSTANCE)hLoadLib,"HtmlHelpA");
if (proc==NULL)
{
ShowMessage("系统不支持HTMLHELP帮助.");
return;
}
HWND HelpWindow;
HelpWindow = (*proc)(GetDesktopWindow(),"F:\\skyle\\bcb\\pratise\\98\\21ic001.chm",HH_DISPLAY_TOPIC,(DWORD)KeyWord);//编译说KeyWord有误,要改为一个键值吗?
}
//============================
还是不行?
3、ShellExecute()可以实现吗?如何。
请高手指点我这愚笨的人。
谢谢!
问题点数:25、回复次数:4Top
1 楼skyle(逸飞)回复于 2001-10-09 18:07:18 得分 0
原来就如此简单,非常感谢!
那像他们那样做是不是想得到BCB 自带工具hcw.exe生成的winhlep的效果?
还有,运用这个函数是不是可以调用任何可执行文件?Top
2 楼ThinkX(秋天的树)回复于 2001-10-09 21:24:04 得分 0
用hh.exe也可以的,但最好还是有HtmlHelp好,功能很强,比ShellExecute好多了Top
3 楼pkwang(有杀无赔)回复于 2001-10-10 09:11:56 得分 13
微软提供的HTML HELP Workshop中包含了htmlhelp.h和htmlhelp.lib,用于在程序中使用Compressed Html Help。但其中htmlhelp.lib不能直接在BCB中使用。在BCB中的使用方法如下:
implib hhctrl.lib hhctrl.ocx:创建HtmlHelp的库文件。
在程序中include <htmlhelp.h>
在工程中加入第一步创建的hhctrl.lib(2kb),编译即可。
在程序中的实例:
HtmlHelp(
GetDesktopWindow(),
"MyHelp.chm",
HH_DISPLAY_TOPIC,
NULL); Top




