В C # как я могу получить имя запущенного файла? - PullRequest
2 голосов
/ 16 ноября 2011

Я хотел бы знать, как прагматично получить имя запущенного файла, а не имя сборки, а имя файла в C # .NET,

Я пытался

System.Reflection.Assembly.GetEntryAssembly().GetName().Name

это дает имя сборки, но вместо этого я ищу имя exe-файла.

Спасибо!

Ответы [ 6 ]

7 голосов
/ 16 ноября 2011
 System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

или

Если вам нужен исполняемый файл:

System.Reflection.Assembly.GetEntryAssembly().Location

Если вам нужен только файл * name *, а не путь, используйте:

Path.GetFileName(System.Reflection.Assembly.GetEntryAssembly().Location)
3 голосов
/ 16 ноября 2011
System.Reflection.Assembly.GetEntryAssembly().Location
2 голосов
/ 16 ноября 2011

System.Windows.Forms.Application.ExecutablePath

"Получает путь к исполняемому файлу, который запустил приложение, включая имя исполняемого файла."

http://msdn.microsoft.com/en-us/library/system.windows.forms.application.executablepath.aspx

1 голос
/ 16 ноября 2011

Если вы знаете, что ваша сборка - это исполняемый файл EXE, в котором вы работаете (что, я полагаю, возможно, с помощью метода «GetEntryAssembly ()»), вы можете использовать Process.GetCurrentProcess (). ProcessName.Это вернет имя EXE для вашей программы.

0 голосов
/ 16 ноября 2011

Вы можете использовать:

System.Reflection.Assembly.GetExecutingAssembly().Location
0 голосов
/ 16 ноября 2011

http://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx

Посмотрите на первый элемент в этом массиве.

 System.Environment.GetCommandLineArgs()[0];

Вы также можете посмотреть на args[0] в main(string args[])

Это должноизменить, даже если программа переименована.

...