我想获取Windows窗体应用程序的执行目录的路径。 (即,可执行文件所在的目录。)
有没有人知道.NET中的内置方法可以做到这一点?
答案 0 :(得分:59)
在VB.NET中
Dim directory as String = My.Application.Info.DirectoryPath
在C#中
string directory = AppDomain.CurrentDomain.BaseDirectory;
答案 1 :(得分:33)
Application.Current会产生一个appdomain http://msdn.microsoft.com/en-us/library/system.appdomain_members.aspx
此外,这应该为您提供程序集的位置
AppDomain.CurrentDomain.BaseDirectory
我似乎记得有多种方法可以获取应用程序的位置。但这个过去至少对我有用(自从我完成winforms编程以来已经有一段时间了:/)
答案 2 :(得分:14)
答案 3 :(得分:9)
System.Windows.Forms.Application.StartupPath
会解决您的问题,我想
答案 4 :(得分:2)
这两个例子都在VB.NET中。
调试路径:
TextBox1.Text = My.Application.Info.DirectoryPath
EXE路径:
TextBox2.Text = IO.Path.GetFullPath(Application.ExecutablePath)
答案 5 :(得分:1)
string apppath =
(new System.IO.FileInfo
(System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).DirectoryName;
答案 6 :(得分:1)
检查出来:
Imports System.IO
Imports System.Management
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = Path.GetFullPath(Application.ExecutablePath)
Process.Start(TextBox1.Text)
End Sub
End Class
答案 7 :(得分:0)
Private Sub Main_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Dim args() As String = Environment.GetCommandLineArgs()
If args.Length > 0 Then
TextBox1.Text = Path.GetFullPath(Application.ExecutablePath)
Process.Start(TextBox1.Text)
End If
End Sub