SetConsoleWindowInfo on Multiple monitors SetConsoleWindowInfo on Multiple monitors windows windows

SetConsoleWindowInfo on Multiple monitors


The following might help:

#include "windows.h"#include <conio.h>int _tmain(int argc, _TCHAR* argv[]){    bool hasSecondary = false;    POINT secondaryPosition;    POINT secondarySize;    POINT primarySize;    {        DISPLAY_DEVICE displayDevice;        displayDevice.cb = sizeof(DISPLAY_DEVICE);        DEVMODE deviceMode;        ZeroMemory(&deviceMode, sizeof(DEVMODE));        deviceMode.dmSize = sizeof(DEVMODE);        int i = 0;        while(::EnumDisplayDevices(NULL, i++, &displayDevice, 0))        {            if(displayDevice.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP &&                !(displayDevice.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER))            {                if(EnumDisplaySettingsEx(displayDevice.DeviceName, ENUM_CURRENT_SETTINGS, &deviceMode, 0) == FALSE)                    EnumDisplaySettingsEx(displayDevice.DeviceName, ENUM_REGISTRY_SETTINGS, &deviceMode, 0);                if(deviceMode.dmPosition.x != 0 || deviceMode.dmPosition.y != 0)                {                    hasSecondary = true;                    secondaryPosition.x = deviceMode.dmPosition.x;                    secondaryPosition.y = deviceMode.dmPosition.y;                    secondarySize.x = deviceMode.dmPelsWidth;                    secondarySize.y = deviceMode.dmPelsHeight;                }                else                {                    primarySize.x = deviceMode.dmPelsWidth;                    primarySize.y = deviceMode.dmPelsHeight;                }            }        }    }    MoveWindow(GetConsoleWindow(),        secondaryPosition.x, secondaryPosition.y,        secondarySize.x, secondarySize.y,        TRUE);    _getch();    return 0;}