17.11.2006, 11:29
|
#6
|
Участник
Регистрация: 28.11.2005
Адрес: Москва
|
Цитата:
Сообщение от KiselevSA
при использовании WSH и WMI я не смог постопить сервер. Анализ возвращаемого значения при вызове метода Terminate объекта W32_Process выдал "Access denied"
Что и требовалось доказать. Хотя, признаться честно, в wmi я не силен, но у меня есть большое подозрение, что метод W32_Process::Terminate() выливается в вызов kernel32.TerminateProcess() - жуткий метод прибивания процесса без какой-либо возможности для последнего "подчистить" за собой, закрыть соединения и файлы, собрать мусор и т.п. А Access denied - штатный ответ виндов на попытку применения этой функции к процессам, запущенным как сервисы.
Предлагаю все-таки остановиться на dll-ке, разработанной AndyD.
|
|