QT 怎样打开chm档

paddyabc 2010-03-26 10:23:14
我用了qt写了一个在window 下运行的程序, 我希望好像一般软件一样有一个help file, 所以做了一个chm,
请问要怎样做先可以让其他用家click了help button后, chm file 会自动打开?
...全文
556 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
smart_code 2011-09-26
  • 打赏
  • 举报
回复

[Quote=引用 8 楼 zzcdyx_ok 的回复:]
用这个方法也行
QProcess *mp_helpProcess = new QProcess(this);
QStringList argument("help.chm");
mp_helpProcess->start("hh.exe", argument);
[/Quote]

这个方法好用,谢谢!
zzcdyx_ok 2011-05-26
  • 打赏
  • 举报
回复
用这个方法也行
QProcess *mp_helpProcess = new QProcess(this);
QStringList argument("help.chm");
mp_helpProcess->start("hh.exe", argument);
tingsking18 2010-03-27
  • 打赏
  • 举报
回复
这段代码我用的很好,没有问题.
你调试一下,看看是哪里的问题
paddyabc 2010-03-27
  • 打赏
  • 举报
回复
我现在将你写了另一个程序, 程序只运行你所写的代码, 发觉完全没有问题, 所以我在自己原本的程序里, 用QProcess::execute运行新写的程序来开chm, 已经没有问题了, 是不是用这个方法, 一定要在另一个process运行?
window本身又用不到fork(), 现在只能用这个方法...
无论如何都非常多谢你
paddyabc 2010-03-27
  • 打赏
  • 举报
回复
你好呀, 我用了tingsking18提供的方法后, CHM 可以打开,而且没有commad propmt弹出,但每次一打开chm, 个程序便出了问题, 不能正常运作,个error是StackHash_1703, 是不是要在什么情况下才能用这个方法打开chm呢?
paddyabc 2010-03-26
  • 打赏
  • 举报
回复
我试过用execv来打开, 但好像不行....
如果用system("help.chm");来打开, 但系就会有一个comand prompt弹出....
有没有方法可以打开chm file, 但又不会弹出comand prompt
knightzhuwei 2010-03-26
  • 打赏
  • 举报
回复
直接调cmd命令打开?
dyw 2010-03-26
  • 打赏
  • 举报
回复
tingsking18 2010-03-26
  • 打赏
  • 举报
回复
typedef long ( *SHELLRUN)(long,const char*, const char*, const char* ,const char* , int );
SHELLRUN test;
QString str = "shell32.dll";
QLibrary lib(str);
test = (SHELLRUN)lib.resolve("ShellExecuteA");
const char * te = "open";
const char * te1 = ".\\help\\Guide.CHM";
test(NULL,te,te1,NULL,NULL,5);
lib.unload();

16,235

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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