+ -
当前位置:首页 → 问答吧 → 多显示,非扩展模式如何实现

多显示,非扩展模式如何实现

时间:2011-12-26

来源:互联网

我的显卡有两个输出接口,分别接两个显示器

我想实现两个显示显示不同内容。现在采用的方法是,将另外一个显示器作为扩展桌面。
能够实现两个显示器分别显示。

问题:如果在主显示器内部拖动窗口的话会拖动虚拟桌面上。


请教朋友们,如何让两边显示互不干扰。鼠标只能在主显示器上显示

作者: hucailai   发布时间: 2011-12-26

C/C++ code

void ExtrendMonitor()
{
    DWORD          DispNum = 0;
    DISPLAY_DEVICE DisplayDevice;
    DEVMODE        DeviceMode;

    ZeroMemory(&DisplayDevice, sizeof(DisplayDevice));
    DisplayDevice.cb = sizeof(DisplayDevice);

    while(EnumDisplayDevices(NULL, DispNum, &DisplayDevice, 0))
    {
        ZeroMemory(&DeviceMode, sizeof(DEVMODE));
        DeviceMode.dmSize = sizeof(DEVMODE);
        EnumDisplaySettings((LPCTSTR)DisplayDevice.DeviceName, ENUM_REGISTRY_SETTINGS, &DeviceMode);
        ChangeDisplaySettingsEx((LPCTSTR)DisplayDevice.DeviceName, &DeviceMode, NULL, CDS_GLOBAL | CDS_NORESET | CDS_UPDATEREGISTRY, NULL);

        //指定显示器上绘图
        HDC hdc = CreateDC(TEXT("DISPLAY"),DisplayDevice.DeviceName,NULL,NULL);
        RECT rect={0,0,2304,1024};
        FillRect(hdc, &rect, (HBRUSH)(GetSysColor(COLOR_3DDKSHADOW)));

        ZeroMemory(&DisplayDevice, sizeof(DisplayDevice));
        DisplayDevice.cb = sizeof(DisplayDevice);

        DispNum++;
    }
}



这是我的测试代码 :扩展桌面的方式
关闭扩展桌面后,另外一个显示器提示无信号。

作者: hucailai   发布时间: 2011-12-26

显卡不支持2个显示器无法调试

作者: Kaile   发布时间: 2011-12-26

是支持2个显示器的,扩展桌面都能用。

作者: hucailai   发布时间: 2011-12-26