Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2010, 23:39   #1
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию Запрет выключения компьютера

Здрасте все.
Подскажите как можно ЗАПРЕТИТЬ другми программам завершать работу Windows и, соответственно, выключать комп. Пока идей у меня нету.
Спасибо.
Yuran вне форума Ответить с цитированием
Старый 16.02.2010, 23:47   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

перехватывать сообщение WM_QueryEndSession и возвращать 0.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 16.02.2010, 23:52   #3
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию

А как при этом узнать какое приложение посылает это сообщение?

Последний раз редактировалось Yuran; 17.02.2010 в 00:10.
Yuran вне форума Ответить с цитированием
Старый 17.02.2010, 00:01   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а зачем вам знать кто послал сообщение?(его обычно система шлет)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.02.2010, 00:08   #5
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию

Да просто интересно! Изначально задача такая:
Я на работе оставляю наночь комп включенный зля закачки софта, фильмов и ТД. НО утром нахожу комп отключенным. В журнале событий записей по этому поводу нет. Питание компа тоже не нарушается. ОДНАКО если, бывает, сеть не работает, то комп не вырубается. Явно что-то програмное. Проц не перегревается. Уже 4 месяца ловлю и поймать не могу. Поэтому Основная задача это запретить другим программам завершать работу win и если возможно узнать причину и источник возникновения сообщения.
Yuran вне форума Ответить с цитированием
Старый 17.02.2010, 00:41   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

перехват АПИ.
а вообще проверка параметров электропитания.(в винде)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.02.2010, 01:14   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...а саму качалку проверяли? может поставили птичку, да забыли.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 17.02.2010, 06:51   #8
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию

..
Код:
      private
        procedure WMQueryEndSession(var Msg: TWMQueryEndSession);
..

Код:
Procedure TMainForm.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
   Msg.Result:=0;
end;
Хотя, если при выключении программно используется нечто параметра EWX_FORCE, то принудительно закроются все приложения

Последний раз редактировалось Denager; 17.02.2010 в 06:55.
Denager вне форума Ответить с цитированием
Старый 17.02.2010, 07:32   #9
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию

Перепроверил все по нескольку раз. И параметры электропитания и галочки во всех программах. Даже в биос залез. Вежде отключение компа выключено.

Сегодня попробую процедуру чтомне посоветовал Denager

Потом отпишусь.
Yuran вне форума Ответить с цитированием
Старый 17.02.2010, 08:19   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Сегодня попробую процедуру чтомне посоветовал Denager
Только учти что твоя программа должна постоянно висеть в процессах, если ее оттуда выдворить то отключение станет возможно (так например глючит dexplore).
И кстати, по-моему ExitWindowsEx с легкостью выключит комп несмотря на все твои ухищрения.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
команда для выключения компьютера в дельфи betirsolt Общие вопросы Delphi 17 27.07.2009 09:52
Окно выключения компьютера Михаил Юрьевич Общие вопросы Delphi 9 27.04.2009 18:27
Выключения монитора joker Компьютерное железо 2 25.01.2009 10:55
Перехват выключения компьютера Спартак Общие вопросы Delphi 3 06.03.2008 15:45
Запись времени выключения В_И_К_Т_О_Р Помощь студентам 13 05.02.2008 08:39