Страница: 1 |
Страница: 1 |
Вопрос: Как завершить процесс без апи?
Добавлено: 29.12.08 23:23
Автор вопроса: AWР | Web-сайт:
Я написал: dim a as process a.getprocessbyname("имяпроцесса") a.kill. Как правильно завершить процесс с visualstudio 2005, этим методом?
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
Crio
ICQ: 462217470
Вопросов: 9
Ответов: 38
Профиль | | #1
Добавлено: 30.12.08 11:01
Номер ответа: 2
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #2
Добавлено: 30.12.08 13:52
Почему 0? Можешь подробней расписать об этом методе
Номер ответа: 3
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #3
Добавлено: 30.12.08 15:34
криво и безграмотно..
а если GetProcessesByName вернет null или пустой массив.. что тогда??? Да здравствует Exception?
Номер ответа: 4
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #4
Добавлено: 30.12.08 16:41
Все работает ок. Спс. Объясните пожалуйста почему именно ноль, что это за ноль? И почему он должен быть на той же строке
Номер ответа: 5
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #5
Добавлено: 30.12.08 16:43
Ну я про (0).kill
Номер ответа: 6
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #6
Добавлено: 30.12.08 17:56
Потому что GetProcessesByName возвращает массив найденных процессов. К примеру у тебя запущенно несколько копий блокнота или открыто несколько документов, в результате ты получешь массив из нескольких экземпляром объекта Process. Тот ноль указыват на то что операция Kill производится с первым элементом массива. Т.е. в нашем,гипотетическом, случае ты убешь только первый документ, а остальные остануться как и прежде.
Кроме того, существует вероятность того, что в данный,конкретный, момент времени ни одного блокнота(раз уж мы о них заговорили) не быо открыто и в этом случае вернеттся пустой массив и следовательно при попытке обратться к первому элементу пустого массива ты получишь ошибку вида OutOfRangeException или InvalidArgumentException.. что то в этом роде.
Правильней было бы проверить полученный массив на количество найденных элементов, и если равно еденице то просто убить,если же больше то перебрать их в цикле и убить.. или если массив пустой то, разумеется, нифига не делать..
Номер ответа: 7
Автор ответа:
@lex
Вопросов: 14
Ответов: 262
Профиль | | #7
Добавлено: 30.12.08 18:15
Правильней было бы проверить полученный массив на количество найденных элементов, и если равно еденице то просто убить,если же больше то перебрать их в цикле и убить..
Ну, думаю Crio просто показал сам принцип) А всякие проверки и прочее можно уже самому доделать по-моему)
Номер ответа: 8
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #8
Добавлено: 30.12.08 18:25
On error resume next и никаких проверок. Спасибо кстати
Номер ответа: 9
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #9
Добавлено: 30.12.08 18:32
можно и доделать, если ты понимаешь что делаешь и как это работает. А большинство тупо копируют код совершенно не думая и не понимая что там происходит (к вопросу: а нафига тут 0 и почему в этой строке?), а потом орут что код не рабочий когда вываливается исключение.. или того хуже начинают юзать извращения типа On error resume next
Номер ответа: 10
Автор ответа:
AWР
ICQ: 345685652
Вопросов: 38
Ответов: 106
Web-сайт:
Профиль | | #10
Добавлено: 31.12.08 03:37
Номер ответа: 11
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #11
Добавлено: 31.12.08 17:27
On error resume next - Это классная вещь
Вот тут я с тобой совершенно не соглашусь, чувак Как и большинство людей, которые не первый год в бейсике. Это самый злой, некрасивый, тупой и неэффективный способ обработки ошибок.
Номер ответа: 12
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #12
Добавлено: 31.12.08 19:18
+1
Номер ответа: 13
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #13
Добавлено: 31.12.08 19:35
к тому же в .NET(с его возможностями обработки ошибок) этот способ просто неуместен!
Номер ответа: 14
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #14
Добавлено: 31.12.08 21:38
On error resume next - Это классная вещь
ппц... весь праздник испортил... знал ведь, не надо сюда лезть...
p.s. С НОВЫМ 2009 ГОДОМ!!!
Номер ответа: 15
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #15
Добавлено: 15.01.09 13:43
On Error... - это лоховство!!!