Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何运行帮助文件?_Vb.net_Winforms - Fatal编程技术网

Vb.net 如何运行帮助文件?

Vb.net 如何运行帮助文件?,vb.net,winforms,Vb.net,Winforms,我在我的应用程序属性->资源中添加了一个“Help.mht”文件 如何在用户按下“帮助”按钮时运行帮助文件。尝试使用以下方法,但不起作用 Process.Start(My.Resources.Help) 谢谢。Process.Start需要一个命令或路径,您正在给他提供帮助文件的内容。试着先把它解压缩到一个临时文件中。我该怎么做?请提供一些示例,感谢两件事:您可以使用Application.StartupPath或Application.ExecutablePath(非VB特定类/命名空间)。

我在我的应用程序属性->资源中添加了一个“Help.mht”文件

如何在用户按下“帮助”按钮时运行帮助文件。尝试使用以下方法,但不起作用

Process.Start(My.Resources.Help)

谢谢。

Process.Start
需要一个命令或路径,您正在给他提供帮助文件的内容。试着先把它解压缩到一个临时文件中。我该怎么做?请提供一些示例,感谢两件事:您可以使用
Application.StartupPath
Application.ExecutablePath
(非VB特定类/命名空间)。其次,请始终使用
[System.IO.]Path.Combine()
连接路径。@Bobby,+1表示
Path.Combine建议
应用程序.StartupPath
是特定于win表单的。它在WPF中不起作用,问题被标记为vb.net,因此回答vb特定的答案没有问题,因为这篇文章没有用win forms或WPF标记。@Shimmy:谢谢你提供有关
应用程序的信息,我不知道,但我会记住它。@Shimmy:为了安全起见,我会一直使用它。你很可能永远也感觉不到这些内部函数(性能方面)。谢谢你的帮助,我正在使用Path.Combine(),是的,我正在为VB(WinForms)使用它。
Sub Main()
  Dim name As String = "Help.mht"
  Dim dir = Application.StartupPath
  Dim path = Path.Combine(dir, name)

  If Not File.Exists(path) Then
    File.WriteAllBytes(path, My.Resources.Help)
  End If

  Process.Start(path)
End Sub