在 C++/Qt/Windows 中控制 Windows 屏幕方向

Controlling Windows Screen Orientation in C++/Qt/Windows

本文关键字:Windows 屏幕 方向 控制 Qt C++      更新时间:2023-10-16

我正在寻找一种解决方案来控制应用程序中的屏幕方向。1. Qt程序用Visual C++编译 2013 (特快)2. 英伟达(如果这很重要)

我不只是想控制窗口的方向,因为这将无法更改正在运行的任何屏幕键盘应用程序的方向。

谢谢

这可以使用 Windows API 中的 ChangeDisplaySettings 来完成

https://msdn.microsoft.com/en-us/library/dd183411%28VS.85%29.aspx

例:

#include <Windows.h>
DEVMODE mode;
//first get setting for "current" screen
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &mode);
if (mode.dmFields | DM_DISPLAYORIENTATION)
{
    mode.dmDisplayOrientation = DMDO_180;
    LONG r;
    r = ChangeDisplaySettings(&mode, 0);
    std::cout << "result: " << r;
}

在此处查找有关 DEVMODE 的信息: https://msdn.microsoft.com/en-us/library/dd183565%28v=vs.85%29.aspx

这可以使用pyautogui.hotkey来完成

from pyautogui import hotkey
hotkey('ctrl','Alt','down')