Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Greyman
1) Ну это можно действительно решить через горячие клавиши, имхо.
2) Тут действительно всё сложно.
  1. По поводу раздражения от 20-секундной паузы. Изначально я хотел добавить ключ в реестре, где можно было бы хранить задержку, специально для продвинутых пользователей. Но потом всё-таки пришёл к выводу, что это лишнее.
  2. По поводу перехвата штатного отключения - AbortSystemShutdown на это не рассчитана. Остается догадываться, как это делает ShutDownStopper, - наверное перехватывает каким-то образом вызов системной функции из dll. Честно говоря, не знаю, я на этом не заморачивался.
  3. По поводу отключения через кнопку питания. Если я всё правильно поняли (и это был не сарказм, как считает IRV), Вы имели в виду ситуацию, когда нажатие Power на морде компа вызывает обычное отключение виндовыми средствами (как если бы Вы сказали Пуск->выключить). Это доступно, емнип, только на последних машинах с ACPI-чего-то-там. Тут, я думаю, ShutDownStopper оказывается не у дел потому, что его "цепляние" на соответствующую функцию происходит уже после того же действия со стороны библиотеки расширенного управления питанием (или стоппер вообще про это не знает).
  4. Судя по Вашему описанию Ваших действий процесса отключения (только теперь до меня дошло, что собственно, Вы делаете и что (и как) Вам мешает), можно сделать енумерацию действующих процессов на момент отключения машины. Если есть незакрытые процессы, можно спросить пользователя. а дествительно ли он собрался уходить. Всё это, конечно, не решает A, B, C. Но можно попробовать.
Жаль, но всё это "с кондачка" не  напишешь. Как буду проходить мимо похожей задачи, сделаю апдейт

[s]Исправлено: hasherfrog, 14:49 30-06-2004[/s]

Отправлено: 14:47, 30-06-2004 | #13