Регулятор яркости экрана Python WMI получает ошибку 0x8004100c - PullRequest
1 голос
/ 11 октября 2019

В настоящее время я работаю над сценарием, который создает иконку в трее, которая позволяет пользователю регулировать яркость экрана с помощью параметров меню. Исходный код, написанный на python 3.6.8, можно найти в виде вставки ЗДЕСЬ . При попытке выбрать один из вариантов яркости появляется сообщение об ошибке, видимое ЗДЕСЬ . Я прочитал и обнаружил, что полученная ошибка ( 0x8004100c ) относится к функции или операции, которые не поддерживаются. Есть ли какие-либо обходные пути для этого?

Заранее спасибо.

код: https://pastebin.com/sLbyE9yb

ошибка: https://pastebin.com/Xs7wHk73

Ссылка на ошибку WMI: https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants

Суть: https://gist.github.com/imri0t/12e768e3d7e08734b85ae532d56090e1

(также, если кто-нибудь может дать мне знать, если есть способ предотвратить смерть сценария после выполнения действия, это будет оценено)

необходимых модулей: pip install infi.systray / pip install wmi

фрагмент кода, который, по моему мнению, выдает ошибку:

from infi.systray import SysTrayIcon
import wmi

def brightness_50(systray):
    '''brightness: 50%'''
    b = 50
    c = wmi.WMI(namespace='root\\wmi')

    br = c.WmiMonitorBrightnessMethods()[0]
    br.WmiSetBrightness(3, b) #b will be a precentage / 100


menu = (("brightness: 100%", None, brightness_50))

systray = SysTrayIcon("icon.ico", "brightness", menu)

systray.start()
...