使用ProcessStartInfo打开chm

时间:2018-07-26 02:53:01

标签: c# .net wpf processstartinfo

我正在尝试使用C#将旧的chm(编译的HTML)文件打开到指定的书签-不要问为什么;)

node ./node_modules/babel-cli/bin/babel-node.js --presets env app.js

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

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

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);

我正在使用here指定的命令行参数。

为什么这两种传递args的方法不等效?为什么通过Process.Start调用时我的书签被忽略?

1 个答案:

答案 0 :(得分:1)

该问题与通过网络打开文件有关,由于安全原因,MS默认情况下已阻止该文件。

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

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

解决方案:将所有.chm文件复制到本地目录,例如C:/ help /,然后从中读取。