gpt4 book ai didi

c++ - 如何使用 C++ 在 Windows 7 中将显示设置设置为扩展模式?

转载 作者:搜寻专家 更新时间:2023-10-31 00:20:09 25 4
gpt4 key购买 nike

在我的 C++ Win32 程序中,我想将当前显示设置设置为“扩展”模式。我在 Google 上搜索并发现 SetDisplayConfig() 是在 Windows 7 中前进的方式(我在 Windows 7 上),但现在我对如何继续操作感到困惑,因为 MSDN 解释(链接 here)非常令人困惑。我对 C++ 和 API 编程非常陌生,所以我发现很难理解这一点。

我非常感谢一些代码示例和解释。提前致谢!

最佳答案

好吧,我想出了答案。

识别当前配置:

UINT32 PathArraySize = 0;
UINT32 ModeArraySize = 0;
DISPLAYCONFIG_PATH_INFO* PathArray;
DISPLAYCONFIG_MODE_INFO* ModeArray;
DISPLAYCONFIG_TOPOLOGY_ID CurrentTopology;

GetDisplayConfigBufferSizes(QDC_ALL_PATHS, &PathArraySize, &ModeArraySize);

PathArray = (DISPLAYCONFIG_PATH_INFO*)malloc(PathArraySize * sizeof(DISPLAYCONFIG_PATH_INFO));
memset(PathArray, 0, PathArraySize * sizeof(DISPLAYCONFIG_PATH_INFO));

ModeArray = (DISPLAYCONFIG_MODE_INFO*)malloc(ModeArraySize * sizeof(DISPLAYCONFIG_MODE_INFO));
memset(ModeArray, 0, ModeArraySize * sizeof(DISPLAYCONFIG_MODE_INFO));

LONG ret = QueryDisplayConfig(QDC_DATABASE_CURRENT,&PathArraySize, PathArray, &ModeArraySize, ModeArray, &CurrentTopology);
// Above CurrentTopology variable will aquire the current display setting (ie Extend, Duplicate etc)

free(PathArray);
free(ModeArray);

要设置所需的显示设置(扩展、复制等):

SetDisplayConfig(0,NULL,0,NULL,SDC_TOPOLOGY_EXTEND|SDC_APPLY);

SetDisplayConfig(0,NULL,0,NULL,SDC_TOPOLOGY_CLONE|SDC_APPLY);

关于c++ - 如何使用 C++ 在 Windows 7 中将显示设置设置为扩展模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6590939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com