我想获取Windows Forms应用程序执行目录的路径。(即可执行文件所在的目录。)
有没有人知道.NET中是否存在内置方法可以实现这一点?
Dim directory as String = My.Application.Info.DirectoryPath
在C#中
string directory = AppDomain.CurrentDomain.BaseDirectory;
Application.Current会得到当前应用程序域的结果。 http://msdn.microsoft.com/en-us/library/system.appdomain_members.aspx
此外,这也可以提供程序集的位置。
AppDomain.CurrentDomain.BaseDirectory
我记得有多种方法可以获取应用程序的位置,但至少这种方法在以前对我有效过(自从我做winforms编程以来已经有一段时间了 :/)。
System.Windows.Forms.Application.StartupPath
可以解决你的问题。这两个示例都是使用VB.NET编写的。
调试路径:
TextBox1.Text = My.Application.Info.DirectoryPath
可执行文件路径:
TextBox2.Text = IO.Path.GetFullPath(Application.ExecutablePath)
看这个:
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
string apppath =
(new System.IO.FileInfo
(System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).DirectoryName;
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