我正在尝试使用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调用时我的书签被忽略?
答案 0 :(得分:1)
该问题与通过网络打开文件有关,由于安全原因,MS默认情况下已阻止该文件。
以下修复程序可用于直接打开文件: https://www.helpscribble.com/chmnetwork.html
但是,当通过子进程打开时,此操作不起作用(加载文件,但没有HTML内容)。
解决方案:将所有.chm文件复制到本地目录,例如C:/ help /,然后从中读取。