我试图创建一个简单的程序,自动调整屏幕亮度的每一个单一的应用程序窗口,我试图使用PyWin32
,但它只是发送消息到操作系统,并没有亮度水平的变化!
我使用pip
安装了pywin32
。
使用win32.gui
、win32.api
和win32.con
下面是Python代码:
import win32con, win32api, win32gui
def get_active_window_titel():
window_handle = win32gui.GetForegroundWindow()
window_title = win32gui.GetWindowText(window_handle)
return window_title
def adjust():
active_app = get_active_window_titel()
if "Action center" in active_app:
win32api.SendMessage(win32con.HWND_BROADCAST,
win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, 10)
else:
win32api.SendMessage(win32con.HWND_BROADCAST,
win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, 10)
while True:
adjust()
字符串
1条答案
按热度按时间xytpbqjk1#
带有10参数的win32con.SC_MONITORPOWER消息通常对应于关闭显示器。如果要调整屏幕亮度,则需要使用带有SPI_SETSCREENBRIGHTNESS操作的WM_SETTINGCHANGE消息。
字符串