Я использую службу ИБП для мониторинга состояния своего ИБП из приложения - ключ HKLM \ SYSTEM \ CCS \ Services \ UPS \ Status содержит всю информацию, которую вы можете получить с панели управления питанием. НО - я бы хотел сказать, что ИБП отключился от моего приложения. Я знаю, что служба может сказать ИБП отключиться - например, после запуска установленного количества минут от батареи - и мне интересно, есть ли какая-либо команда, которую я могу отправить службе, чтобы инициировать отключение вручную .
У меня проблемы с поиском этой информации - люди, как правило, неправильно пишут "Непрерывный" (г-н, у Firefox красная черта, но альтернативы нет), а "UPS" просто получает хиты за службу доставки. Может быть, я могу что-то сделать через System.ServiceController или WMI?
УТОЧНЕНИЕ: да, я говорю о выключении физического устройства ИБП. Я знаю, как остановить службу. Я подумал, что это будет распространенная проблема - я хочу, чтобы мой ИБП выключился с ПК. У меня была идея, которую я собираюсь попробовать, основываясь на этой странице . Видите ли, APC (и все остальные) должны предоставить DLL для вызова службы UPS, и, поскольку вызовы функций хорошо документированы, нет никаких причин, по которым я не должен иметь возможность вызывать их. Я отредактирую это, как только узнаю, сработало ли это.
Обновление: я попытался вызвать UPSInit, затем UPSTurnOff, и ничего не происходит. Я подумаю над этим еще немного, но прямой вызов apcups.dll может оказаться тупиком.