Как отказать в отключении при кратковременном нажатии кнопки питания? - PullRequest
8 голосов
/ 13 марта 2009

На большинстве новых компьютеров вы можете отключить жесткий режим, нажав кнопку питания на пару секунд. Но я хочу полностью это предотвратить.

Вы можете предотвратить некоторые программные события, такие как спящий режим, режим ожидания, спящий режим и события «Нажать кнопку питания» на панели управления Windows; Вы также можете использовать некоторые программы на Win32 и WDI для захвата и обработки / отклонения этих событий, но это не останавливает механическое отключение 1004 * при длительном удержании кнопки. Полагаю, кнопка питания жестко подключена к источнику питания и никогда не ждет ОС, когда вы удерживаете ее нажатой в течение нескольких секунд? Или есть какой-нибудь способ предотвратить даже этот случай с помощью кода?

Я разработчик .NET.

Whooaaa ...! Многие из вас действительно спорили за то, что не делали этого. владеть моим компьютером или моей ОС ", -" ты разработка SkyNet "и т. д. :) Это Приложение является высоко настроенным и закрытое решение для некоторых клиентов. Это приложение киоска на заказ аппаратное обеспечение, работающее на Windows XP Встроенный и использовать сенсорный экран. Это не публично.

Ответы [ 13 ]

1 голос
/ 27 февраля 2015

Имеет смысл, когда пользователи компьютера - дети, и кнопка питания становится скорее игрой, чем экстренным действием. Лучший способ научить ребенка выключать машину с помощью программного обеспечения - отключить механическое отключение.

1 голос
/ 13 марта 2009

Вы не можете и не должны связываться с этой функцией.

Я могу предусмотреть два сценария, в которых это может быть проблемой:

  1. Вы не хотите, чтобы неавторизованные пользователи выключали машину любым способом - в этом случае физически обезопасьте машину, а также заблокируйте ОС.
  2. Вы не хотите, чтобы машина отключалась во время критического процесса - в этом случае встроите устойчивость в ваше приложение, чтобы такие события, как принудительное отключение или сбой питания из окружающей среды, не ставили под угрозу приложение.
0 голосов
/ 13 марта 2009

Я бы предложил как-то просто вывести кнопку питания из зоны досягаемости от пользователя. Может быть, удалив его полностью. И убедитесь, что компьютер включается автоматически, когда он получает питание или что-то еще (не уверен, но это возможно в BIOS?).

В любом случае, для киосков всегда есть смысл. По крайней мере, для многих других аппаратных средств. Единственный способ выключить его - отключить питание.

...