如何调用*.chm文件?(50分)

  • 主题发起人 主题发起人 ydy
  • 开始时间 开始时间
Y

ydy

Unregistered / Unconfirmed
GUEST, unregistred user!
如何调用*.chm文件?谢谢各位大虾!
 
例子:
uses shellapi;
shellexecute(handle,nil,'d:/asp.chm',nil,nil,sw_shownormal);
 
htmlhelp函数,看看网上的资料。
 
type
THtmlHelp = procedure(hwndCaller: Thandle; pszFile: string; uCommand: integer; dwData: Dword); stdcall;
var
htmlhelp: Thtmlhelp;

procedure TForm1.Button1Click(Sender: TObject);
const
HH_DISPLAY_TOPIC = 0;
begin
hhctrl := LoadLibrary('hhctrl.ocx');
if (hhctrl <> 0) then
begin
@htmlhelp := GetProcAddress(hhctrl, 'HtmlHelpA');
//如果是unicode版本得话,你要调用'HtmlHelpW'
end;

if @htmlhelp <> nil then
HtmlHelp(getdesktopwindow(), 'c:/test/proj/myproj.chm', HH_DISPLAY_TOPIC, 0 {dword(pchar('gsjj.htm'))});
// FreeLibrary(hhctrl); 这一行不能要,呵呵,暂时我讲不出原因
end;

关于函数HtmlHelp的用法,你得参考MSDN了。呵呵
 
http://www.ccw.com.cn/app/aprog/有一篇文章
[如何在主流开发环境中使用HTML Help文件] 可以看看

要么就下在一个控件 htmlhelp
没有的话给个油箱,我给你发过去
 
zxb200的方法是最简便的。。:) 我平常都是这么用的。。。
 
也给我一份,多谢了!
l_x_yuan@sohu.com
 
谢谢
yang_story@263.net
 
zazinfo@21cn.com
 
我也用shellexcute
 
winexec('hh.exe help.chm',wm_shownormal);
 
多人接受答案了。
 
后退
顶部