在VB.NET中获取程序路径?

时间:2010-02-07 06:08:45

标签: .net vb.net

如何获得我正在运行的程序的绝对路径?

8 个答案:

答案 0 :(得分:31)

为此你可以使用Application对象。

启动路径,只是文件夹,使用Application.StartupPath()

Dim appPath As String = Application.StartupPath()

完整的.exe路径,包括末尾的program.exe名称:,使用Application.ExecutablePath()

Dim exePath As String = Application.ExecutablePath()

答案 1 :(得分:20)

试试这个:My.Application.Info.DirectoryPath [MSDN]

这是使用VB.NET的My功能。此特定属性适用于所有非Web项目类型,因为.NET Framework 2.0,包括您需要的控制台应用程序。

只要您信任Microsoft继续保持其对所有上述项目类型的正常运行,这比使用其他“更直接”的解决方案更简单。

Dim appPath As String = My.Application.Info.DirectoryPath

答案 2 :(得分:4)

对于控制台应用程序,只要在控制台应用程序本身的代码中进行调用,就可以使用System.Reflection.Assembly.GetExecutingAssembly().Location,如果从另一个dll或插件中调用此函数,则会返回该DLL的位置和不是可执行文件。

答案 3 :(得分:3)

您也可以使用:

Dim strPath As String = AppDomain.CurrentDomain.BaseDirectory

答案 4 :(得分:3)

您可以通过此代码获取路径

Dim CurDir as string = My.Application.Info.DirectoryPath

答案 5 :(得分:0)

设置您自己的应用程序路径

将myPathsValues调暗为字符串

    TextBox1.Text = Application.StartupPath
    TextBox2.Text = Len(Application.StartupPath)
    TextBox3.Text = Microsoft.VisualBasic.Right(Application.StartupPath, 10)
    myPathsValues = Val(TextBox2.Text) - 9
    TextBox4.Text = Microsoft.VisualBasic.Left(Application.StartupPath, myPathsValues) & "Reports"

答案 6 :(得分:0)

如果路径是驱动器,则路径中还会出现一个斜线,这一次使用将引起问题。要统一起来,最好的解决方案是以下命令。

        Dim FileName As String = "MyFileName"
    Dim MyPath1 As String = Application.StartupPath().TrimEnd("\") & "\" & FileName
    Dim MyPath2 As String = My.Application.Info.DirectoryPath.TrimEnd("\") & "\" & FileName

答案 7 :(得分:-2)

我用:

Imports System.IO
Dim strPath as String=Directory.GetCurrentDirectory