首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ProcessStartInfo打开chm

使用ProcessStartInfo打开chm
EN

Stack Overflow用户
提问于 2018-07-26 10:53:01
回答 1查看 287关注 0票数 1

我正在尝试使用C#打开一个旧的chm (编译的超文本标记语言)文件到指定的书签-不要问为什么;)

代码语言:javascript
复制
var psi = new ProcessStartInfo("hh.exe");
psi.Arguments = @"ms-its:X:/MyApplication/Help/MYHELPFILE.chm::MYHELPFILE.htm#36531"; // 36531 is my "topic path"
var cmdProcess = Process.Start(psi);

这将打开正确的文件,但无法打开到书签位置(36531)。

当我从命令行直接调用hh时,它会在书签位置显示正确的文件:

代码语言:javascript
复制
hh ms-its:X:/MyApplication/Help/MYHELPFILE.chm::MYHELPFILE.htm#36531

我使用命令行参数作为指定的here

为什么这两种传递参数的方法不是等价的?当我通过Process.Start调用时,为什么我的书签被忽略?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-26 12:21:25

该问题与通过网络打开文件有关,出于安全原因,MS默认阻止了该文件。

以下修复适用于直接打开文件:https://www.helpscribble.com/chmnetwork.html

但是,通过子进程打开时,这不起作用(加载文件,但不加载HTML内容)。

解决方案:将所有帮助文件复制到本地目录,例如C:/ .chm /,并从那里读取。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51530315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档