![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
отмена выключения компьютера [Win2k]
вразлет © (2004-08-23 09:23:00)Доброго времени суток!
Очень рад был бы услышать советы и предложения по решению следующей проблемы:
Есть источник бесперебойного питания. При прекращении питания и разряде аккумулятора ИБП его софт выключает компьютер.
Требуется отловить и запретить выключение компа данной софтинкой.
GuAV (2004-08-25 16:23:00) [1]Залезь в таблицу импорта этой проги, поищи ExitWindowsEx и другие вырубающие ф-ции и подмени их на свои. В рантайме делается. Поищи, я спрашивал что-то типа "подмена WinAPI", digitman код привёл. Торопись, пока АП руки не оторвал.
GuAV (2004-08-25 16:22:00) [2]Залезь в таблицу импорта этой проги, поищи ExitWindowsEx и другие вырубающие ф-ции и подмени их на свои. В рантайме делается. Поищи, я спрашивал что-то типа "подмена WinAPI", digitman код привёл. Торопись, пока АП руки не оторвал.
DC-AC (2004-08-25 13:50:00) [3]АPС по запросу с компа может выдавать байт статуса и сам автоматически посылает байт, соответствующий переходу в другое состояние (On Battery, On Line, Low Battery и т.д.). Встроить в свою программу возможность контроля UPS APC это не так уж и сложно, перехватить сообщения PowerChute и пытаться влезть туда, куда не просят - уже сложнее.
bjohny (2004-08-25 12:48:00) [4]Снести софт UPS. Написать свою прогу.
Например можно перехватить сообщение посылаемое UPS(APC 700 посыдает сообщения) и выполнить необходимые действия.
Anatoly Podgoretsky (2004-08-25 12:33:00) [5]вразлет © (25.08.04 12:23) [23]
А тебя где искать в туалете?
Вытащи кабель управления и не мучайся.
КаПиБаРа (2004-08-25 12:29:00) [6]
> У APC в некоторых версиях есть некий скриптовый фалй выключения
> компа, ты его использовал?
Нет. Там все задавалось в настройках программы (чекбоксами и едитами).
вразлет (2004-08-25 12:23:00) [7]Anatoly Podgoretsky ©
Если к примеру по умолчанию в опциях стои таймаут на отключение послн прекращения подачи питания 5 минут, а я поставлю 4 минуты, еще минуту поработаю и сам выключу комп, то где разница? Что тут, что тут -5 минут
вразлет (2004-08-25 12:17:00) [8]При отключении питания через T1 сервисная программа (как я подозреваю при получении сигнала от UPS) стандартным способом завершает windows. У приложений имеется возможность сохранить данные. Причем приложение может послать windows и отменить завершение
InitiateSystemShutdown?
У APC в некоторых версиях есть некий скриптовый фалй выключения компа, ты его использовал?
Anatoly Podgoretsky (2004-08-25 12:15:00) [9]вразлет © (25.08.04 12:07) [20]
Правильно, а ты собираешься заблокировать нормальное выключение. С чем трудно согласиться нормальному человеку.
вразлет (2004-08-25 12:07:00) [10][18] Anatoly Podgoretsky © (25.08.04 11:49)
Последствия запрета просто катастрофические, вместо нормального выключения будет аварийное по разряду аккумуляторов, с потерей всех несохраненых данных, с весьма вероятной порчей баз данных и возможным разрушением файловой системы.
ИБП попытается выключит комп заблаговременно, еще до разряда батарей.
А если ты не умееешь нормально писать программы, то есть очень много других видов деятельности.
Очень замечательно, может продолжим обсуждение меня и моей квалификации в ветке "Почему АП отказался от голубого значка?".
КаПиБаРа (2004-08-25 11:54:00) [11]
> А как называлась родная программа?
Не помню давно дело было. Шла на диске с UPS. Если сильно надо могу отписать на старую работу там народ посмотрит может даже по почте пришлет.
Anatoly Podgoretsky (2004-08-25 11:49:00) [12]Последствия запрета просто катастрофические, вместо нормального выключения будет аварийное по разряду аккумуляторов, с потерей всех несохраненых данных, с весьма вероятной порчей баз данных и возможным разрушением файловой системы.
А если ты не умееешь нормально писать программы, то есть очень много других видов деятельности.
вразлет (2004-08-25 11:48:00) [13]КаПиБаРа ©
А как называлась родная программа?
КаПиБаРа (2004-08-25 11:42:00) [14]В APC насколько я помню схема такая.
Задается время работы на UPS после отключения питания T1. И время на завершения работы компа T2.
При отключении питания через T1 сервисная программа (как я подозреваю при получении сигнала от UPS) стандартным способом завершает windows. У приложений имеется возможность сохранить данные. Причем приложение может послать windows и отменить завершение.
По истечении времени T2 USP отключает питание компа.Мы задавали T2 - 3 минуты. На сохраниение данных у приложения и завершение windows уходило около 2 мин. Таким образом запас был около минуты.
вразлет (2004-08-25 11:14:00) [15][10] DesWind (24.08.04 12:45)
Он отрубает даже проги с несохраненными данными
вразлет (2004-08-25 11:13:00) [16][7] КаПиБаРа © (24.08.04 11:06)
Надо нормальный UPS покупать. У нас был APC у него отдельно устанавливалось время завершения работы windows и время отключения UPS.
Как я узнаю, что питание отключено и что через определенное время ИБП будет выключать комп?
вразлет (2004-08-25 11:11:00) [17][8] Anatoly Podgoretsky © (24.08.04 12:01)
Тю. Фраза "отрывать руки" дискуссией и не пахнет. Это хамство и балаган и ты сам это знаешь.
Запрещать что либо я никому ничего не собирался, а лишь попросил, поэтому с напоминанием, что немодераторы здесь никто ты явно поторопился.
Если сильно хочется поувольнять -открывай свою фирму, нанимай кого хочешь и увольняй кого хочешь, а твое мнение по поводу моей персоны меня мало интересует.
А насчет рук еще раз пожтвержу, отрывать и по самую шею
А ты приезжай. Оторви.
Mim1 (2004-08-24 15:01:00) [18]
> [8] Anatoly Podgoretsky © (24.08.04 12:01)
Скорее всего у них ИБП фирмы "Супер-Труппер", так что до автора врядли удасться даже дозвонится, не говоря о остальном.
DesWind (2004-08-24 12:48:00) [19]Ошибся CanClose:=caNone
DesWind (2004-08-24 12:45:00) [20]Есть варант: написать программу которая не закрывается.
Если в OnCloseQuery написть CanClose:=caFree, то она незакроется, правда все остальные программы будут закрыты.
Коряво но больше предложить ничего не могу.