Можно ли как-то программно, в ответ на нажатие кнопки формы, открыть ещё одну копию приложения, как если просто открыть .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
Комментариев нет:
Отправить комментарий