![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: 2 Всего: 5 |
добрый вечер,
возник вопрос: задача - отследить процесс по ID, если таковой процесс не запущен, то запустить. юзаю данный код:
Возникает вопрос - почему компилятор указывает ошибку - ведь по-моему если он не запущен, то следуя коду его надо запустить! Подскажите как избежать ошибки. Спасибо. Это сообщение отредактировал(а) Legolas - 3.10.2007, 18:27 |
|||
|
||||
Aldan |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 2.4.2007 Где: Минск, Беларусь Репутация: нет Всего: нет |
Так компилятора ошибка или времени выполнения? Если времени выполнения, то все правильно, по документации метода, он кидает ArgumentException "The process specified by the processId parameter is not running. The identifier might be expired." если такой процесс не запущен.
Меняй на
Хотя, по-хорошему, надо было бы проверять и Process.Start на эксепшны, но лень ![]() Если же ошибка компилятора, приведи пожалуйста ее. |
||||
|
|||||
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: 2 Всего: 5 |
Aldan, спасибо. пробую.
|
|||
|
||||
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: 2 Всего: 5 |
возник вопрос - а какой лучший способ отслеживать появление процесса? Id-номер у одного и того же процесса, запущенного из одного экзешника на разных компах одинаков?
|
|||
|
||||
tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 63 Всего: 170 |
конечно нет. При запуске процесса ОС присваивает ему ID для дальнейшей идентификации и управления процессом. Запусти и закрой блокнот несколько раз, посмотри его ID, зачем задавать такие вопросы? Я бы советовал искать процесс по имени. По крайней мере, в WMI по моему так же ищется. Не знаю правда, как поступать, если на одной машине запущено несколько экземпляров процесса, но, в любом случае, по ID искать не нужно. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: 2 Всего: 5 |
tol05, в том то вся и проблема - процесс замаскирован под системный, поэтому мне пришлось менять одну букву на русскую чтобы их различать. искал вот так: Process[] pro = Process.GetProcessesByName("asd");
![]() |
|||
|
||||
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: 2 Всего: 5 |
может кто подскажет самый надежный способ отслеживания процессов? даже если они идентичны.
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Используйте WMI (классы ManagementObjectSearcher и ManagementObject), с wmi-шным объектом Win32_Process. Примеры как использовать WMI есть на форуме.
-------------------- ![]() |
|||
|
||||
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: 2 Всего: 5 |
спасибо - щас буду разбираться.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |