Форум: "Система";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
ВнизПро выключение компьютера и пример из FAQ Подгрецкого Найти похожие ветки
← →
KSergey (2003-07-09 13:26) [0]Жаль, потерял тут ветку, потому пишу новую.
Там Анатолий дал адрес
http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N162
Ну, начнем с того, что там пропущены пара скобочек и один символ "точка с запятой". Но это ладно. (хотя и не понятно как такое моглр получиться: текст копировался не из проверенного примера? впрочем, всякое бывает).
Основная проблема в том, что у меня этот код не задаботал под Win98. В Win2k Prof - все на ура. В принципе, это и надо, но из любопытства.
В Win98 происходит следующее (передаю флаги EWX_POWEROFF OR EWX_FORCE): приложения зкрываются, после чего вдруг вылетает "введите сетевой пароль", и если отказаться от ввода - нифига не происходит. Вариант со вводом пароля проверить сейчас не могу. Отмечу, что при загрузке Win отказался от ввода сетевого пароля (как изветсно, Win9x это спокойно проходит).
Есть ли у кого-то какие-либо комментарии? Есть ли кто-то из присутствующих, у кого этот код нормально работает в Win9x (там, в принципе, и всего-то одна ф-ция должна в этом случае вызваться! Хотя не проверил, сознаюсь.. Может с определением версии косяк у меня? А вообще используемые там пременные для определения версии - точно работают? Мне на них еще не разу ссылки не попадались...)
← →
Anatoly Podgoretsky (2003-07-09 13:38) [1]Мне кажется, что это не совсем нормальная комбинация, нужно еще и EWX_SHUTDOWN
Вообще то с этой операцией часто много плясок с бубном, зависящих от ОС и многого другого. С питанием в Виндоус большой бардак.
Скобки и точку с запятой поправляю.
← →
KSergey (2003-07-09 14:35) [2]Спасибо за отклик.
Я подумал, что раз питание выключить - то как бы шутдаун подразумевается ;) Думал, что это взаимоисключающие параметры. С EWX_SHUTDOWN несколько лучше (все же выключается; к стати, может упомянуть о проверенных/удачных комбинациях флагов прямо в FAQ).
Но я как-то думал, что все выключится без проблем, а оказалось, что все не так (без проблем = без лишних вопросов).
Так, если не использовать флаг EWX_FORCE - от всех приложений (ну не от всех, конечно) запросы по поводу сохранения данных.
Если указать EWX_FORCE - то все схлопывается очень нагло, ни один темповый файл не удален, половина программ считает, что их завершили некорректно, Win9x вообще перешла (буквально мнгновенно!, без какого-либо обычного при выключении перемигивания окон - спецально запустил пяток приложений) на экран "идет завершение" - и на нем умерла.
В ощем я так понял, что оказывается просто так вот загасить винду - нельзя...
Флаг EWX_FORCEIFHUNG тоже спасает мало: как он поведет себя в 9х - не знаю (вроде никак не должне вообще повести), а в 2000 все равно вылетело окно "процесс не отвечает, будем убивать или нет?" (а процесс просто ждал реакции от пользователя), ну т.е. опять же в диалоги все скатилось...
Видимо перебирать возможно возникшие диалоги и как-то пытаться на них автоматически ответить - задача не привиальная...
А вот как это, инетесно, делают программы, идущие к UPS "APC Smart-UPS", например. Ведь там все корректно завершается, в случае пропадания питания, и никаких лишних вопросов не задается...
Может это как-то можно? Может кто-то знает такие комбинации флагов или еще какие-то хитрости?
PS: а вообще там много хитростей в ПО этого UPS встроено. В частности, они как-то расшаривают папку, куда установлен софт UPS"а, при этом ее не удается выключить штатными средствами, с точки зрения которых папка вовсе и не расшарена в сети... А открывают ее, гады, на полный доступ...
← →
KSergey (2003-07-09 14:49) [3]Хотя сейчас провел эксперимент как сама же Win выключатеся при нажатии кнопки Power (в ATX корпусе) - впечатление, что как бы с параметром EWX_FORCE - OutLook Express, в частности, после этого сказал, что сессия завершена некорректно.
А потому и про ПО UPS у меня стало сомнение закрадываться - я, вообще-то не проверял подробно, может и не так все красиво, как я расписал.
Но если у кого есть что сказать - буду признателен.
← →
DVM (2003-07-09 14:50) [4]EWX_SHUTDOWN - это доведение до экрана "Теперь питание компьютера можно выключить". По крайней мере так задумывалось. Работает только неправильно часто.
← →
DVM (2003-07-09 15:00) [5]
> А вот как это, инетесно, делают программы, идущие к UPS
> "APC Smart-UPS", например. Ведь там все корректно завершается,
> в случае пропадания питания, и никаких лишних вопросов не
> задается...
Ну а как можно корректно без диалогов? Сами подумайте? Это хорошо еще если программа несохраненному документу сама может дать имя по-умолчанию. А если нет. Или программа перед выходом задает какой другой вопрос. Так что имхо нельзя. Либо выход форсируется или задаются вопросы.
> Ведь там все корректно завершается, в случае пропадания
> питания, и никаких лишних вопросов не задается...
А насчет этого большие сомнения.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c