it-swarm.com.de

Rufen Sie den Pfad zum Ausführungsverzeichnis der Windows Forms-Anwendung ab

Ich möchte den Pfad zum Ausführungsverzeichnis einer Windows Forms-Anwendung erhalten. (Das heißt, das Verzeichnis, in dem sich die ausführbare Datei befindet.)

Kennt jemand eine in .NET integrierte Methode, um dies zu tun?

39
Yaakov Ellis

Application.Current Ergebnisse in einer appdomain http://msdn.Microsoft.com/en-us/library/system.appdomain_members.aspx

Auch dies sollte Ihnen den Ort der Versammlung geben

AppDomain.CurrentDomain.BaseDirectory

Ich scheine mich zu erinnern, dass es mehrere Möglichkeiten gab, den Ort der Anwendung abzurufen. aber dieses hat in der Vergangenheit zumindest für mich funktioniert (es ist schon eine Weile her, seit ich Winforms programmiert habe: /)

29
thmsn

In VB.NET

Dim directory as String = My.Application.Info.DirectoryPath

In c #

string directory = AppDomain.CurrentDomain.BaseDirectory;
59
Tomas Pajonk

Das könnte helfen;

Path.GetDirectoryName(Application.ExecutablePath);

auch hier ist die Referenz

14
Ali Ersöz

System.Windows.Forms.Application.StartupPath wird dein Problem lösen, denke ich

9

Beide Beispiele sind in VB.NET enthalten.

Debug-Pfad:

TextBox1.Text = My.Application.Info.DirectoryPath

EXE-Pfad:  

TextBox2.Text = IO.Path.GetFullPath(Application.ExecutablePath)
2
али
string apppath = 
    (new System.IO.FileInfo
    (System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).DirectoryName;
1
MusiGenesis

Überprüfen Sie dies heraus:

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
1
sandeep k
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