Я хотел бы получить путь к каталогу выполнения приложения Windows Forms. (То есть каталог, в котором находится исполняемый файл.)
Кто-нибудь знает о встроенном методе .NET для этого?
Я хотел бы получить путь к каталогу выполнения приложения Windows Forms. (То есть каталог, в котором находится исполняемый файл.)
Кто-нибудь знает о встроенном методе .NET для этого?
Application.Current приводит к созданию приложения http://msdn.microsoft.com/en-us/library/system.appdomain_members.aspx
Также это должно дать вам расположение сборки
AppDomain.CurrentDomain.BaseDirectory
Кажется, я помню, что существует несколько способов получения местоположения приложения. но это работало для меня в прошлом по крайней мере (прошло некоторое время с тех пор, как я закончил программирование winforms:/)
В VB.NET
Dim directory as String = My.Application.Info.DirectoryPath
В С#
string directory = AppDomain.CurrentDomain.BaseDirectory;
Это может помочь;
Path.GetDirectoryName(Application.ExecutablePath);
также здесь ссылка
System.Windows.Forms.Application.StartupPath
решит вашу проблему, я думаю,
Оба примера приведены в VB.NET.
Отладка:
TextBox1.Text = My.Application.Info.DirectoryPath
EXE путь:
TextBox2.Text = IO.Path.GetFullPath(Application.ExecutablePath)
проверьте это
'as in import statement you have to mention the Imports System.IO & import System.Management
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;
Частный Sub Main_Shown (отправитель как объект, e As EventArgs) Обрабатывает 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