我正在寻找一种以编程方式关闭多台显示器的方法。
注意:这并不意味着关闭所有显示器电源。
我目前能够使用当前环境编译的语言是python / C / C ++。我知道简单的C ++方式。
SendMessage(GetConsoleWindow(), WM_SYSCOMMAND, SC_MONITORPOWER, 2);
然而,这会关闭系统所有的监视器,这不是我追求的结果。
假设我有一个名为“应用程序窗口”的窗口,现在我想关闭所有没有打开此应用程序窗口的监视器。
注意:理想情况下,它是用python实现的,但不需要。
编辑: 找到了这个,但是我无法重新创建并拥有所需的功能。
答案 0 :(得分:-2)
使用ctypes,您可以访问您提到的winapi功能:
import ctypes
WM_SYSCOMMAND = 0x0112
SC_MONITORPOWER = 0xF170
window = ctypes.windll.kernel32.GetConsoleWindow()
ctypes.windll.user32.SendMessageA(window, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
msdn文档:
您应该使用GetDesktopWindow:
window = ctypes.windll.kernel32.GetDesktopWindow()