Страницы

Поиск по вопросам

вторник, 26 февраля 2019 г.

Запуск ещё одной копии приложения программно

Можно ли как-то программно, в ответ на нажатие кнопки формы, открыть ещё одну копию приложения, как если просто открыть .exe-файл?


Ответ

Попробуйте так:
Process.Start(Application.ExecutablePath);

Это решение специфично для Windows Forms. Более общее решение — использовать рефлексию для нахождения пути:
Assembly.GetEntryAssembly().CodeBase
Этот вызов вернёт URI-строку наподобие
file:///C:/Program Files/YourProgram/YourProgram.exe
которую можно скормить в Process.Start. Если вы всё же хотите путь с привычным синтаксисом, примените конструкцию
new Uri(Assembly.GetEntryAssembly().CodeBase).LocalPath
которая вернёт обыкновенный адрес наподобие
C:\Program Files\YourProgram\YourProgram.exe

Комментариев нет:

Отправить комментарий