Как узнать имя файла программы с

Обновлено: 05.07.2024

Я хочу получить имя текущей запущенной программы, то есть исполняемого имени программы. В C/С++ вы получаете его от args[0] .

ОТВЕТЫ

Ответ 1

Ответ 2

System.AppDomain.CurrentDomain.FriendlyName - возвращает имя файла с расширением (например, MyApp.exe).

System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName - возвращает полный путь и имя файла (например, C:\Examples\Processes\MyApp.exe). Затем вы можете передать это в System.IO.Path.GetFileName() или System.IO.Path.GetFileNameWithoutExtension() для достижения тех же результатов, что и выше.

Ответ 3

System.Diagnostics.Process.GetCurrentProcess() получает текущий процесс. Вы можете использовать свойство ProcessName для определения имени. Ниже приведен пример консольного приложения.

Ответ 4

Этого должно быть достаточно:

Ответ 5

Это код, который работал у меня:

Все приведенные выше примеры дали мне имя процесса с именем vshost или запущенным именем dll.

Ответ 6

Это возвращает вам System.Reflection.Assembly экземпляр, в котором есть все данные, которые вы когда-либо хотели узнать о текущем приложении. Я думаю, что свойство Location может получить то, что вам нужно.

Ответ 7

предоставит вам имя_файла вашего приложения; "MyApplication.exe"

Ответ 8

Почему никто не предлагал это, просто.

Ответ 9

Пара дополнительных параметров:

  • System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
  • Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase

Ответ 10

  • System.Reflection.Assembly.GetEntryAssembly().Location возвращает местоположение имени exe, если сборка не загружена из памяти.
  • System.Reflection.Assembly.GetEntryAssembly().CodeBase возвращает местоположение как URL.

Ответ 11

Когда вы сомневаетесь или сомневаетесь, бегите кругами, кричите и кричите.

Я не могу утверждать, что тестировал каждый параметр, но он не делает ничего глупого, как возвращение vhost во время сеансов отладки.

Ответ 12

Если вам нужно имя программы для настройки правила брандмауэра, используйте:

Это гарантирует правильность имени при отладке в VisualStudio и при запуске приложения непосредственно в окнах.

Ответ 13

Если вы ищете полную информацию о пути своего исполняемого файла, надежный способ сделать это - использовать следующее:

Это устраняет любые проблемы с промежуточными dll, vshost и т.д.

Ответ 14

Однако при отладке вы должны быть осторожны, так как этот последний пример может дать вам исполняемое имя отладчика (в зависимости от того, как вы прикрепляете отладчик), а не от вашего исполняемого файла, как и другие примеры.

Ответ 15

Это то, что вы хотите:

Ответ 16

Для приложений Windows (форм и консоли) я использую это:

Добавьте ссылку на System.Windows.Forms в VS, затем:

Это правильно работает для меня, выполняю ли я фактический исполняемый файл или отладку в VS.

Обратите внимание, что он возвращает имя приложения без расширения.

Ответ 17

Ответ 18

Супер легкий, здесь:

Ответ 19

Читайте также: