以编程方式关闭多个监视器

时间:2017-06-04 18:47:48

标签: python c++ python-3.x winapi multiple-monitors

我正在寻找一种以编程方式关闭多台显示器的方法。

注意:这并不意味着关闭所有显示器电源。

我目前能够使用当前环境编译的语言是python / C / C ++。我知道简单的C ++方式。

SendMessage(GetConsoleWindow(), WM_SYSCOMMAND, SC_MONITORPOWER, 2);

然而,这会关闭系统所有的监视器,这不是我追求的结果。

假设我有一个名为“应用程序窗口”的窗口,现在我想关闭所有没有打开此应用程序窗口的监视器。

注意:理想情况下,它是用python实现的,但不需要。

编辑: 找到了这个,但是我无法重新创建并拥有所需的功能。

Cpp how to turn off specific monitor?

1 个答案:

答案 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()