如何获得我正在运行的程序的绝对路径?
答案 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