如何在Windows 7中使用C ++将显示设置设置为EXTEND模式? [英] How to set Display Settings to EXTEND mode in Windows 7 using C++?

查看:901
本文介绍了如何在Windows 7中使用C ++将显示设置设置为EXTEND模式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的C ++ Win32程序中,我想将当前的显示设置设置为扩展模式。我Googled,发现SetDisplayConfig()是在Windows 7(我在Windows 7上)的方式,但现在我有点困惑,如何继续作为MSDN解释(链接这里)是很混乱。我对C ++和API编程非常新,所以我很难理解这一点。

In my C++ Win32 program I want to set the current Display Settings to "Extend" mode. I Googled and found out that SetDisplayConfig() is the way to go forward in Windows 7 (I'm on Windows 7) but now I am kind of stuck how to proceed as the MSDN explanation (link here) is pretty confusing. I am very much new to C++ and API programming so I am finding it difficult to understand this.

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

I would highly appreciate some code sample and an explanation. Thanks in advance!

推荐答案

好的,所以我想出了答案。

Okay so I figured out the answer.

当前配置:

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);

要设置所需的显示设置(扩展,重复等):

To set the required display setting (Extend, Duplicate etc):

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

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

这篇关于如何在Windows 7中使用C ++将显示设置设置为EXTEND模式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆