Привет всем. Подскажите, плиз, как на VB сделать компу shutdown так, чтоб ему было всё равно какая прога счас бежит... ну, типа, чтоб не кричал, что какому-то процессу нужно время для завершения начатого.. если конечно так возможно. Если нет, то хотябы, как дать команду на shutdown.
Доброе время суток, n-aga! Вопрос интересный:) Выключить/перезагрузить компьютер можно с помощью API ExitWindowsEx. В Win9x и Me система не требует токенов (Token) и задача выключения компа выглядит так (пишется в модуле либо в форме, тогда объявляйте как Private): Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long Public Const EWX_FORCE = 4 Public Const EWX_LOGOFF = 0 Public Const EWX_REBOOT = 2 Public Const EWX_SHUTDOWN = 1
Теперь что касается "тихого" выключения. Можно попробовать юзать API TerminateProcess для всех процессов,
однако при этом придется смотреть, чтобы случайно не "прибить" процесс svchost (если Вы знаете про вирусы типа LoveSаn, поймете почему;) И вообще, это довольно геморройный способ и полной уверенности нет, что сработает. Есть вариант намного безопаснее (в том плане, что не надо будет мучаться с процессами, но требует прав для записи в реестр). Для этого в реестре надо изменить следующие значения: [HKEY_CURRENT_USER\Control Panel\Desktop] параметр "AutoEndTasks"="1 (убивать все зависшие программы без предупреждения) "HungAppTimeout"="10" (в принципе, эта действие этого ключа уже "эмулировано" вышеприведенным ключом, но лучше дописать). Имейте в виду, что эти изменения в реестре начнут действовать после перезагрузки компа и будет влиять на все программы без исключения! Т.е. проще говоря, система всегда (пока "живы"
те ключи реестра) будет убивать приложения и сервисы без предупреждения (при этом могут возникнуть проблемы с невовремя убитыми приложениями и процессами - они не успеют записать свои данные). Удачи! Ответ отправлен: 15.07.2004, 13:01 Отправитель: Licvidator
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.