2016-06-14 1 views
1

Как скрипт Python 2.7 обнаруживает событие запуска/остановки Windows Screensaver?Python Detect Screensaver Событие запуска/остановки в Windows

+0

, вероятно, нет ... но вы, вероятно, можете использовать win32api и/или wmi, чтобы узнать, активен ли он в данный момент и опросить его повторно –

ответ

1

Вы можете на самом деле сделать это с помощью Pywin32. Pywin предоставляет привязки Python для API Win32 и для COM.

Что касается вашего вопроса, он позволяет «слушать» события Windows - например, запуск/остановка экрана Windows ScreenSaver.

Вы должны быть в состоянии получить текущее состояние экранной заставки, делая что-то вроде этого:

import win32gui, win32con 

def CheckScreenSaverState(): 
    return win32gui.SystemParametersInfo(win32con.SPI_GETSCREENSAVERRUNNING) 

В этом примере мы используем win32gui, который позволяет получить доступ к графическому пользовательскому интерфейсу из приложения окна. Вызывая win32gui.SystemParametersInfo (которая является функцией, которая фактически принадлежит системе обмена сообщениями Windows GUI - вне поля для этого объяснения, читайте далее here), мы можем получить состояние экранной заставки, используя константу SPI_GETSCREENSAVERRUNNING (которая является внутренней константой ОС Windows). Этот метод, который я написал, должен возвращать логическое значение состояния экранной заставки (True работает False, если нет).

У меня не было времени протестировать его, но расскажите, как он прошел, я мог бы помочь вам дальше.

Удачи, Том.

Смежные вопросы