获取Windows窗体应用程序的执行目录的路径

时间:2008-11-17 14:34:35

标签: .net winforms path directory

我想获取Windows窗体应用程序的执行目录的路径。 (即,可执行文件所在的目录。)

有没有人知道.NET中的内置方法可以做到这一点?

8 个答案:

答案 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)

这可能会有所帮助;

Path.GetDirectoryName(Application.ExecutablePath);

这里也是reference

答案 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