Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.019 c
4-72012
SkiF
2003-07-21 00:48
2003.09.22
Запрещение получение фокуса своему приложению


14-71947
Fiend
2003-09-01 11:38
2003.09.22
Паздравляю родителей!!!!


14-71859
Anatoly Podgoretsky
2003-08-31 00:43
2003.09.22
Инструкция к


1-71657
Тих
2003-09-08 21:05
2003.09.22
HTML в CLipboard


4-71998
Pi314
2003-07-20 20:54
2003.09.22
HOOK мыши - KeyState?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский