Obter a localização do programa em VB.NET?

Como posso obter o caminho absoluto do programa que estou a executar?

 17
Author: Martin Prikryl, 2010-02-07

8 answers

Para isso pode usar o Application protesto.

Localização inicial, apenas a pasta, use a aplicação .StartupPath()

Dim appPath As String = Application.StartupPath()

Cheio .caminho exe, incluindo o programa.nome exe no fim:, usar aplicação.Aplicação executável()

Dim exePath As String = Application.ExecutablePath()
 36
Author: Nick Craver, 2010-02-07 06:10:59
Tenta isto.: My.Application.Info.DirectoryPath [ MSDN]

Isto está a usar a funcionalidade de My VB.NET. esta propriedade em particular está disponível para todos os tipos de projetos não-web, desde o Framework. NET 2.0, incluindo aplicativos de consola como você precisa.

Desde que confie na Microsoft para continuar a manter isto a funcionar correctamente para todos os tipos de projecto acima, isto é mais simples de usar do que aceder às outras soluções "mais directas".

Dim appPath As String = My.Application.Info.DirectoryPath
 22
Author: Mark Hurd, 2012-08-25 04:37:06

Para uma aplicação de consola, você pode usar System.Reflection.Assembly.GetExecutingAssembly().Location desde que a chamada seja feita dentro do Código da aplicação de consola em si, se você ligar isto de dentro de outro dll ou plugin, isto irá devolver a localização desse DLL e não o executável.

 4
Author: lee-m, 2010-02-07 12:12:35

Você pode obter o caminho por este código

Dim CurDir as string = My.Application.Info.DirectoryPath
 3
Author: KHALID, 2015-12-06 07:08:27

Também pode utilizar:

Dim strPath As String = AppDomain.CurrentDomain.BaseDirectory
 3
Author: Eddy Jawed, 2017-11-20 08:30:03

Defina o seu próprio local de aplicação

Dim myPathsValues As String

    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"
 0
Author: Wajid Ali Khan, 2017-12-12 10:57:19

Se o caminho é uma unidade, uma barra também irá aparecer no caminho, e desta vez o uso irá causar problemas. Para unificar, a melhor solução é o seguinte comando.

        Dim FileName As String = "MyFileName"
    Dim MyPath1 As String = Application.StartupPath().TrimEnd("\") & "\" & FileName
    Dim MyPath2 As String = My.Application.Info.DirectoryPath.TrimEnd("\") & "\" & FileName
 0
Author: Alireza Nemeti, 2020-06-24 07:55:29

Eu uso:

Imports System.IO
Dim strPath as String=Directory.GetCurrentDirectory
 -3
Author: Corey B, 2010-05-25 20:16:22