![]() |
Получение PID процесса, запущенного из программы
Имеется приложение на C#. В приложении есть опция - создать отчет. Отчет формируется в Excel.
Код:
//экземпляр Excel Вот и подумал, может имеет смысл при закрытии программы проверять PID процессов Excel и закрывать их принудительно? В таком случае возникает проблема с уже запущенными клиентом копиями Excel. Я думал взять список процессов Excel до запуска отчета и после Код:
listBoxBefore.Text = System.Diagnostics.Process.GetProcessesByName("Excel")[0].Id.ToString(); Может есть способ сразу при активации экземпляра Excel из программы, получать его PID? Чтобы быть уверенным на 100%, что закрывается нужное приложение. |
Delirium, когда в МультиБут понадобилось определить кто запускал консоль/GUI процесс, нашёл эту тему Как узнать имя процесса-родителя, а там ссылку в посте под номер 4;)
Тем не менее, код, переписанный с Делфи на С, не добавил, так как представил, что помимо explorer.exe и cmd.exe, программу может запускать totalcmd.exe, far.exe и т.д., что делает данный подход не надёжным. ![]() Код:
#define PSAPI_VERSION 1 Не писал под .NET в Excel, так что не знаю нюансов, но разве при запуске второго экземпляра Excel не создаёт новой вкладке в своём окне? Или с рапортами выделяется отдельный поток и всё? |
Цитата:
|
Время: 09:44. |
Время: 09:44.
© OSzone.net 2001-