【问题标题】:Open a .chm file on local network in a c# application在 C# 应用程序中打开本地网络上的 .chm 文件
【发布时间】:2012-08-31 14:26:08
【问题描述】:

在我的代码中,我尝试使用以下代码从本地网络打开帮助文件 (.chm)

private void helpToolStripMenuItem_Click(object sender, EventArgs e)
{
    Help.ShowHelp(this, @"\\server\Helpfiles\HelpFiles.chm");
}

如果我想在我的应用程序之外打开这个 .chm,出于安全原因,我需要先向我的注册表添加一个密钥。

我认为这也适用于我的应用程序,但它仍然说已取消。

如何打开这个 .chm 文件及其内容?

【问题讨论】:

  • 您能否详细介绍一下您添加的注册表项以及调用ShowHelp 时究竟发生了什么?
  • 您使用的是哪个版本的 .NET 框架?现在我正在为此尝试谷歌,但我确定我看到了对 .NET 安全团队成员的采访,其中提到在 .NET 4.0 默认配置中现在支持在网络驱动器上打开 CHM 文件,因为有这么多人们曾询问过这种情况。内脏我找不到这方面的参考资料,但我 100% 确信我确实在很久以前看过这个。
  • 这是我添加的注册表项 Windows 注册表编辑器版本 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp \1.x\ItssRestrictions] "UrlAllowList"="\\\\server\\helpfiles;file://\\\\server\\helpfiles" 。我认为我们使用 .NET 3.2,但我不确定
  • 您是否也将它添加到 Wow6432Node 以用于 32 位进程?更改注册表后您是否重新启动了计算机?
  • 不,我没有。我也在那里添加了它,现在它可以工作了

标签: c# html chm helpfile


【解决方案1】:

您需要更改机器上的一项安全设置。我使用以下 .reg 文件来进行修改:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001

在此处阅读所有相关信息:http://support.microsoft.com/kb/896358

【讨论】:

  • 谢谢。我遇到了类似的问题,将注册表项也添加到 WOW6432Node 对我有帮助!
猜你喜欢
  • 2011-12-02
  • 2019-01-24
  • 1970-01-01
  • 2013-06-29
  • 2020-09-04
  • 2017-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多