ironpython:如何使用参数在Windows上调用chm帮助文件

时间:2013-10-28 13:00:35

标签: ironpython chm helpfile

我试图在我的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''')

谢谢!

1 个答案:

答案 0 :(得分:0)

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

坚持您开始的方向,您可以确定该章节的网址,然后尝试使用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)