在PB中怎么调用CHM文件?

cloudwindbase 2002-03-29 10:38:34
用ShellExecute?
我已经声明了,不过在PB中不知道怎么调用?它的各个参数怎么赋值?
...全文
116 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaisa_cheng888 2002-03-30
  • 打赏
  • 举报
回复
呵呵,windows目录下有个“hh.exe”文件,就是用来运行chm文件的。
run(“hh.exe,chm文件名”)
Functions 2002-03-30
  • 打赏
  • 举报
回复
PB8可以不通过API调用,它本身支持HtmlHelp.:)
222401 2002-03-29
  • 打赏
  • 举报
回复
同意 yangjinok(yangjinok) 的意见
但是你得指定好目录。。(最好是给相对路径)
jiazhij 2002-03-29
  • 打赏
  • 举报
回复
yangjinok(yangjinok)
写的,可以实现,我就是这么用的。
cloudwindbase 2002-03-29
  • 打赏
  • 举报
回复
TO:yangjinok(yangjinok)
谢谢。
TO:junyong(军勇)
你的这种方法好象不行,PB编译时会报错。
lyl_rabbit 2002-03-29
  • 打赏
  • 举报
回复
用 yangjinok(yangjinok) 的就行,看看还有什么别的方法
junyong 2002-03-29
  • 打赏
  • 举报
回复
最后一个参数如下:
SW_HIDE 0
SW_SHOWNORMAL 1
SW_NORMAL 1
SW_SHOWMINIMIZED 2
SW_SHOWMAXIMIZED 3
SW_MAXIMIZE 3
SW_SHOWNOACTIVATE 4
SW_SHOW 5
SW_MINIMIZE 6
SW_SHOWMINNOACTIVE 7
SW_SHOWNA 8
SW_RESTORE 9
SW_SHOWDEFAULT 10
SW_FORCEMINIMIZE 11
SW_MAX 11
junyong 2002-03-29
  • 打赏
  • 举报
回复
例如在菜单中写:
ShellExecute(parentwindow,"open',ChmFileName,null,null,5);
yangjinok 2002-03-29
  • 打赏
  • 举报
回复
run("hh.exe xxx.chm")
junyong 2002-03-29
  • 打赏
  • 举报
回复

HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpVerb,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
说明
查找与指定文件关联在一起的程序的文件名。关联的方式要么是运行程序,要么是打印文件。可用Windows注册表编辑器将特定的文件类型同应用程序关联起来。例如,扩展名为.TXT的文本文件通常与Windows记事本(NOTEPAD.EXE)关联到一起。如在文件管理器中双击含.TXT扩展名的一个文件,就会自行启动记事本程序,并在其中载入文本文件;或者将指定的文件打印出来
返回值
Long,大于32表示成功。请参考对FindExecutable函数的说明,了解具体的错误代码列表
参数表
参数 类型及说明
hwnd Long,指定一个窗口的句柄,有些时候,Windows程序有必要在创建自己的主窗口前显示一个消息框。如果发生这种情况,由这个参数指定的窗口就会作为消息框的父窗口使用。在VB环境中,通常将活动窗体的窗口句柄作为这个参数使用
lpOperation String,指定字串“Open”来打开lpFlie文档;或指定“Print”来打印它。也可设为vbNullString,表示默认为“Open”
lpFile String,想用关联的程序打印或打开的一个程序名或文件名
lpParameters String,如lpFile是一个可执行文件,则这个字串包含了传递给执行程序的参数。如lpFile引用的是一个文档文件,或者不需要使用参数,则设为vbNullString
lpDirectory String,想使用的默认路径完整路径
nShowCmd Long,定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数
cloudwindbase 2002-03-29
  • 打赏
  • 举报
回复
怎么没人回答啊???!!!!
dwdiaogan 2002-03-29
  • 打赏
  • 举报
回复
1)、定义全局API函数:
Function Long HtmlHelpA (long hwnd ,string lpHelpFile , long wCommand, string dwData) Library "hhctrl.ocx"
2)、定义全局变量:
long HH_DISPLAY_TOPIC = 0
3)、在功能模块的“帮助”按钮的clicked事件中写下以下代码:
htmlhelpA(handle(parent), "chm_name>chm_win_name", HH_DISPLAY_TOPIC, "htm_name")
例如:chm帮助文件的名字是help.chm,help.chm的主窗口名是mywin,要调出的相关页面是bj_modi.htm,相应的脚本是:
htmlhelpA(handle(parent), "help.chm>mywin", HH_DISPLAY_TOPIC, "bj_modi.htm")
4)、至于在菜单中启动帮助文件,用run("help.chm")命令即可。
tainy 2002-03-29
  • 打赏
  • 举报
回复
查看PB自带的例子,里面有了。

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧