我想在VB.NET中单击一个按钮时显示.CHM帮助文件。谁能告诉我代码如何执行此操作?
Private Sub cmdHelp_Click(ByVal sender As System.Objects, Byval e As System.EventArgs)Handles cmdHelp.Click
'Please help provide some code
End Sub
进行处理。以动词open
开头的技巧:
Module Module1
Sub Main()
Dim p As New Process()
Dim psi As New ProcessStartInfo("path to my CHM file")
psi.Verb = "open"
p.StartInfo = psi
p.Start()
Console.ReadKey()
End Sub
End Module
请注意.chm
文件从大约WinXP SP3(SP2?)开始受到操作系统的严格限制-它们被认为是合理的安全风险,因此您不能直接从网络或远程位置打开它们。您将需要进行相应的编码,并在尝试打开它们时期望出现异常。
。NET API在Help
名称空间中提供了System.Windows.Forms
类。一些例子:
Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.TableofContents, Nothing)
Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.Index, Nothing)
Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.Topic, "Page.html")
Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.TopicId, 123)
Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.Keyword, "Keyword")
在单击按钮事件上写此代码
Dim RetVal
RetVal = Shell("hh.exe " & App.HelpFile, vbNormalFocus)
其中hh.exe是任何名称App.Helpfile是您的chm文件名
您也可以使用HH.EXE显示指定的主题。
在示例代码中将[topicid]替换为真实的主题ID用您的.chm文件的完整路径和名称替换[yourhelpfile.chm]
如果需要返回值
Dim RetVal As Integer = Shell("HH.EXE -mapid [topicid] ms-its:[yourhelpfile.chm]", AppWinStyle.NormalFocus)
否则就是这个
Shell("HH.EXE -mapid [topicid] ms-its:[yourhelpfile.chm]", AppWinStyle.NormalFocus)