Как отклонить завершение работы при нажатии кнопки питания некоторое время?

Вы должны создать новый цикл Isolate, соответствующий новому потоку.

Предлагаю вам прочитать эту статью из блога Didier Boelens , в которой очень четко описаны все эти концепции.

8
задан Magnus 13 March 2009 в 11:07
поделиться

11 ответов

Посмотрите страницу 62 спецификации ACPI относительно 4 вторых правил (http://www.acpi.info/DOWNLOADS/ACPIspec30b.pdf)

Долго и за исключением него то, что логика находится в аппаратных средствах.

8
ответ дан 5 December 2019 в 04:35
поделиться

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

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

  1. Вы не хотите неавторизованных пользователей, закрывающих машину каким-либо образом - в этом случае физически безопасный машина, а также блокировка ОС.
  2. Вы не хотите машину, выключающую во время критического процесса - в этом случае встраивают устойчивость в Ваше приложение, таким образом, что события такой как принудительное выключают, или экологический сбой питания не ставят под угрозу приложение.
1
ответ дан 5 December 2019 в 04:35
поделиться

Хорошо, поэтому возможно, это безумно для отключения кнопки питания. Но у нас есть приложение использование база данных, и использует дорогой набор лицензий. Этот крупный немецкий поставщик использует менеджер лицензий, который перемещает лицензии физически вокруг диска. Дефрагментация, определенные антивирусные приложения и вырезание питания повреждают лицензии. У нас есть UPS для разрешения изящных завершений работы, если питание устройства сокращается. Теперь это кажется некоторым сервисным парнем, или оператор выключил ПК с кнопкой питания, повреждающей лицензии. Эти устройства расположены в удаленном месте во всем мире и обучении, оператор не может всегда предотвращать это. Кажется, что опции решения 1) Работа с поставщиком для отключения кнопки питания, 2) попытайтесь захватить его и предупредить пользователя возможной гибели, или 3) перепроектируйте дисплей с помощью ОС и приложения, неуязвимого для этого выключения питания.

2
ответ дан 5 December 2019 в 04:35
поделиться

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

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

0
ответ дан 5 December 2019 в 04:35
поделиться

Я верю единственному способу, которым можно измениться, это путем изменения вручную настроек в BIOS. Это, вероятно, не может быть поймано языком программирования. Если Вы действительно должны, Вы могли бы просто отключить крошечный провод от своей материнской платы, которая переходит к кнопке питания.

2
ответ дан 5 December 2019 в 04:35
поделиться

Насколько я знаю, Вы корректны в высказывании, что ОС даже не вовлечена в этот тип "завершения работы". Содержание кнопки питания некоторое время является просто сигналом к аппаратным средствам для непосредственного выключения питание ко всем устройствам в компьютере. Нормальный завершают работу/спят / в спящем режиме, события могут, конечно, быть пойманы и обработаны использование WinAPI, как Вы заявляете.

4
ответ дан 5 December 2019 в 04:35
поделиться

Вы собираетесь ближе разработать SkyNet?

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

2
ответ дан 5 December 2019 в 04:35
поделиться

Это не возможно, поскольку это Выключается, происходит ниже уровня операционной системы, таким образом, он похож на отключение, что касается ОС!

4
ответ дан 5 December 2019 в 04:35
поделиться

Это - действительно механическая энергия прочь, таким образом, будет довольно трудно обойти.

Если это действительно важно, Вы могли бы разъединить кнопку питания и повернуть компьютер вкл\выкл со следом на LAN resp. удаленное завершение работы.

5
ответ дан 5 December 2019 в 04:35
поделиться

Я надеялся бы, что Вы не можете сделать этого. Я столкнулся с ситуациями неоднократно, где я не мог перезагрузить компьютер никаким другим способом. В таких случаях Вы действительно хотите вынудить пользователя портативных компьютеров отключить источник питания и удалить батарею при выполнении?

Дав то предупреждение, можно писать программное обеспечение для довольно различных ситуаций, где оно имеет больше смысла. Вы могли предоставить больше подробную информацию о мотивации для этого?

Если пользователь может удержать кнопку питания (указание, что они действительно, действительно хотите завершить работу машины), действительно ли они не могут физически удалить питание?

Править: Ответ на комментарий от magsto:

Если все вовлеченные действительно, действительно хотят это - объяснявший им, что, если вещи идут не так, как надо и им нужен к жесткой перезагрузке компьютер, они должны будут перейти к еще более прямому способу выключиться, который я подозреваю, более вероятно, повредит аппаратные средства, чем, "удерживают питание" метод... говорят с производителем устройств. Это кажется, что Вы, вероятно, работаете с определенным устройством, таким образом, они могут настраивать что-то в BIOS для Вас, даже если это не общедоступная опция.

Учитывая, что это - почти всегда действительно плохая идея, я не удивлен, что нет простой поддержки ее, но если Вы спрашиваете производителя может быть некоторый скрытый способ сделать то, что Вы хотите. Я все еще поощрил бы Вас вовлекать всех для размышления обо всех потенциальных последствиях все же.

11
ответ дан 5 December 2019 в 04:35
поделиться

Отключите силовой кабель от материнской платы и соедините его проводами для хождения все время.:)

4
ответ дан 5 December 2019 в 04:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: