Узнать имя запускаемого процесса
Кто может подсказать? Хочу сделать форму, с выбором exe файла, и сохранением его в форме для дальнейшего программного запуска через Process.Start
Фишка в том, что экзешник может быть любой и заранее имя запускаемого процесса мне неизвестно. А имя нужно для завершения этого процесса, когда понадобится. Есть ли возможность при запуске процесса сразу узнать его имя для дальнейшей работы с ним?
Думал сравнивать все процессы после запуска нового и таким образом вычислять новый, но во время запуска может запуститься еще какой сторонний процесс и можно завершить в итоге не тот/
Ответы (2 шт):
Как вариант
AppDomain.CurrentDomain.FriendlyName
Возвращает только имя файла. Чтобы получить директорию можно использовать
AppDomain.CurrentDomain.ApplicationBase
Ребят, конкретно для моей задачи разобрался. Я вызывал статический запуск процесса по неопытности. На деле мне нужно было создавать экземпляр Process и экземпляр ProcessStartInfo в который помещается инфа директории запуска. Process.StartInfo =ProcessStartInfo. Для завершения все просто Process.Kill. Кстати размышления по поводу новых окон интересны. Стыдно за такой затуп, но все обошлось)) Всем спасибо.
string source = "C:\\Windows/System32/notepad.exe";
ProcessStartInfo myInfo = new ProcessStartInfo(source);
Process notepadProc = new Process();
notepadProc.StartInfo = myInfo;
notepadProc.Start();
Thread.Sleep(5000);
notepadProc.Kill();