我试图在我的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''')
谢谢!
答案 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)