2

我试图在我的 IronPython 代码中调用一个引用特定章节的 chm 文件。

调用 chm 文件可以正常工作示例:

  import clr
  clr.AddReference("System")
  from System.Diagnostics import Process
  Process.Start('''C:\planta\client\Help\Planta.chm''')

调用 chm 文件将不起作用...有人可以帮助我吗?!?

  Process.Start('''C:\planta\client\Help\Planta.chm::/D-KA-0044095.html''')

谢谢!

4

1 回答 1

0

有不同的方法来完成你正在尝试的事情。

坚持您开始的方向,您可以确定章节的 URL,然后尝试使用Process.Start启动它。这可能会使用浏览器或类似查看器打开正确的帮助主题。

import clr
clr.AddReference("System")
from System.Diagnostics import Process
Process.Start(r"mk:@MSITStore:C:\planta\client\Help\Planta.chm::/D-KA-0044095.html")

如果您想使用 Microsoft 的帮助查看器,您可以以类似的方式启动它。

import clr
clr.AddReference("System")
from System.Diagnostics import Process
Process.Start("hh.exe", r"mk:@MSITStore:C:\planta\client\Help\Planta.chm::/D-KA-0044095.html")

一种不太容易出错的方法是使用Help.ShowHelp来处理您的确切用例。唯一可能的缺点是必须加载WinForms以及帮助查看器附加到您的应用程序/UI 的事实。因此,如果您想启动查看器、终止 IronPython 进程并保持帮助查看器运行,您必须仔细查看。

import clr
clr.AddReference('System.Windows.Forms')
from System.Windows.Forms import Help, HelpNavigator

helpFile = r"C:\planta\client\Help\Planta.chm"
topic = r"/D-KA-0044095.html"

Help.ShowHelp(None, helpFile, HelpNavigator.Topic, topic)
于 2013-10-28T17:35:13.490 回答