423 Stimmen

Wie erhalte ich den Namen der aktuellen ausführbaren Datei in C#?

Ich möchte den Namen des aktuell laufenden Programms abfragen, d. h. den Namen des ausführbaren Programms. In C/C++ erhält man ihn von args[0] .

464voto

Steven A. Lowe Punkte 59247
System.AppDomain.CurrentDomain.FriendlyName

331voto

Lee Grissom Punkte 9168

System.AppDomain.CurrentDomain.FriendlyName - Gibt den Dateinamen mit Erweiterung zurück (z. B. MyApp.exe).

System.Diagnostics.Process.GetCurrentProcess().ProcessName - Gibt den Dateinamen zurück ohne Erweiterung (z. B. MyApp).

System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName - Gibt den vollständigen Pfad und Dateinamen zurück (z. B. C:\Examples\Processes\MyApp.exe ). Sie könnten dies dann in System.IO.Path.GetFileName() o System.IO.Path.GetFileNameWithoutExtension() um die gleichen Ergebnisse wie oben zu erzielen.

121voto

James B Punkte 7802

Das sollte genügen:

Environment.GetCommandLineArgs()[0];

116voto

Aaron Daniels Punkte 9389

System.Diagnostics.Process.GetCurrentProcess() ermittelt den aktuell laufenden Prozess. Sie können die ProcessName Eigenschaft, um den Namen herauszufinden. Nachfolgend finden Sie ein Beispiel für eine Konsolenanwendung.

using System;
using System.Diagnostics;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(Process.GetCurrentProcess().ProcessName);
        Console.ReadLine();
    }
}

21voto

Tal Segal Punkte 2588

Der folgende Code hat bei mir funktioniert:

string fullName = Assembly.GetEntryAssembly().Location;
string myName = Path.GetFileNameWithoutExtension(fullName);

Alle obigen Beispiele gaben mir den processName mit vshost oder den Namen der laufenden dll.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X