короче:
Я хочу перехватить сообщения о приостановке / ожидании на моем ноутбуке, но моя программа не получает все соответствующие сообщения.
фон:
В ms-excel для Windows XP / 2k есть ошибка, которая не позволяет системе приостанавливаться, если файл открывается на сетевом / USB-диске.
Я пытаюсь обойти это программно (мой набор инструментов включает в себя инструменты Python, vb6 или командной строки).
Я ничего не знаю об инструментах Windows: -)
У меня есть утилита sysinternals, которая все равно приостанавливает работу системы. я хочу подключить его к закрытой акции!
в длинну:
Закрытие крышки ноутбука (fujitsu u810) запускает процедуру ожидания [как?]
Затем система отправляет всем WM_POWERBROADCAST: PBT_APMQUERYSUSPEND (я могу отследить их, используя SPYXX.EXE
)
Каждая программа отвечает «True», пока excel не отвечает «false», и весь процесс останавливается.
Мои вопросы:
1) моя программа на python не перехватывает ни pbm_apmquerysuspend, ни PBT_APMQUERYSTANDBYFAILED, ни PBT_APMQUERYSUSPENDFAILED:
`...
query = "SELECT * FROM Win32_PowerManagementEvent"
power_watcher = wmi.ExecNotificationQuery ( query )
power_event = power_watcher.NextEvent ()
`
он получает только PBT_APMSUSPEND, если наконец наступает дежурный режим.
Почему бы и нет - и как мне его перехватить?
2) Есть ли другой способ перехватить резервный процесс?
в мире префектов я бы установил событие закрытия крышки, чтобы запустить выбранную мной команду.
в идеальном мире закрытие крышки - задокументированное событие.
спасибо всем: -)