通过视频卡端口设置显示设置

时间:2012-06-22 21:54:32

标签: c++ winapi multiple-monitors

我正在编写一个自助服务终端应用程序,该应用程序有6个显示器连接到1台PC,带有2个3头卡。这些显示器只能有一个1024x768的分辨率。无论出于何种原因,Windows 7都会将其检测为分辨率为1600x1200的显示器。必须安排桌面区域,使得显示1位于左侧,6位于右侧,按顺序排列。这是一个简单的解决方案,只需使用Windows显示控制面板手动重新排列桌面即可在实验室中解决。在我交付软件以驱动信息亭之后的现场,这将无法工作,因为如果显示器出现故障并被更换,Windows将重新排列桌面和分辨率。我的软件需要以编程方式安排桌面和分辨率。

在一个完美的世界中,我希望能够进行一系列win32调用,我可以将其包装在一个函数中执行:

Set the resolution of display plugged into video card 0 port 0 to 1024x768
Set the workspace position of display plugged into video card 0 port 0 to 0,0

Set the resolution of display plugged into video card 0 port 1 to 800x600
Set the workspace position of display plugged into video card 0 port 1 to 1024,0

Set the resolution of display plugged into video card 0 port 2 to 1600x1200
Set the workspace position of display plugged into video card 0 port 2 to 1824,0

Set the resolution of display plugged into video card 1 port 0 to 640x480
Set the workspace position of display plugged into video card 1 port 0 to 3424,0

Set the resolution of display plugged into video card 1 port 1 to 1024x768
Set the workspace position of display plugged into video card 1 port 1 to 4448,0

Set the resolution of display plugged into video card 1 port 2 to 1920x1080
Set the workspace position of display plugged into video card 1 port 2 to 6368,0

然后,我保证视频卡0中的端口0位于左侧,而视频卡1上的端口2位于右侧

有没有人知道如何在C ++中做到这一点?

编辑1: 更新了分辨率,以便更清楚问题的本质

编辑2: 再次更新示例以包括问题的工作区部分

编辑3: 拼写

0 个答案:

没有答案