我想编写一个Python脚本来检查我的设备是否有显示器以及该显示器是打开还是关闭。
我用谷歌搜索,有一个名为" WMI"的第三方库,但它只能得到一些信息,比如CPU / HDD /进程/线程,所以我很困惑。
我正在使用Windows 10,以防万一。
是否可以通过Python获取那种低级硬件信息,如果是,我该怎么办?
答案 0 :(得分:0)
看起来Windows并没有办法告诉您显示器是打开还是关闭。 WMI Win32_DesktopMonitor类具有“可用性”属性,但这似乎不会因更改监视器状态而受到影响。我使用以下python脚本测试了这个:
import wmi # pip install WMI
import win32gui, win32con
SC_MONITORPOWER = 0xF170
wmic = wmi.WMI()
def powersave():
# Put the monitor to Off.
win32gui.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SYSCOMMAND, SC_MONITORPOWER, 2)
# Get the monitor states
print([monitor.Availability for monitor in wmic.Win32_DesktopMonitor()])
if __name__ == '__main__':
powersave()
SC_MONITORPOWER参数为documented here。
不幸的是,我的显示器的结果总是为3,这意味着它“开启”,即使它在睡眠模式下实际关闭或物理关闭也是如此。
根据您的要求,您可能只想发送广播消息以断言您想要的电源状态,而不需要检查当前状态。