0

所以我需要从程序的子文件夹中启动一个外部应用程序。该应用程序将与该程序一起部署,但可能位于不同的位置,因此我无法将其硬编码为“c:\folder\example.exe”

当我运行它时,我得到一个错误,即尽管我在 \bin\debug 中有文件夹和文件,但找不到文件。

Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
    System.Diagnostics.Process.Start("\app\ds104.exe")
End Sub

即使应用程序位于不理想的根文件夹中,我也会遇到相同的错误。

Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
    System.Diagnostics.Process.Start("ds104.exe")
End Sub

谢谢你看看。

4

1 回答 1

2

Process.Start()方法将完整路径作为参数。

My.Application.Info.DirectoryPath您可以使用该属性获取应用程序运行的路径。然后将它与要运行的应用程序的位置连接起来,然后调用该Process.Start()方法。

例子:

Imports System.Diagnostics

...

Private Sub StartApplication()
    Process.Start(My.Application.Info.DirectoryPath & "\Path\To\App.exe")
End Sub
于 2012-10-13T18:47:31.647 回答