我试图按照MSDN given here上的说明禁用辅助监视器。如何禁用辅助监视器(使用ChangeDisplaySettingsEx)?
我想专门使用这组功能,以便与旧版本的Windows兼容。
但是,我不能设法关闭监视器。我正在运行并在Windows 7 x64上进行测试。 我得到的只是一个闪烁的屏幕。代码能够正确检测显示器 - 我设法改变分辨率并轻松查看显示模式。
这里是我的代码(部分) - 我尝试了很多的变化对DEVMODE
DEVMODE deleteScreenMode;
ZeroMemory(&deleteScreenMode, sizeof(DEVMODE));
deleteScreenMode.dmSize = sizeof(DEVMODE);
deleteScreenMode.dmDriverExtra = 0;
deleteScreenMode.dmFields = DM_POSITION | DM_PELSHEIGHT | DM_PELSWIDTH;
deleteScreenMode.dmPelsWidth = 0;
deleteScreenMode.dmPelsHeight = 0;
POINTL delete;
deleteion.x=0;
deleteion.y=0;
deleteScreenMode.dmPosition = deleteion;
LONG result = ChangeDisplaySettingsEx(devName,
&deleteScreenMode,
NULL,
CDS_UPDATEREGISTRY,
NULL);
领域
有没有人有这方面的经验?由于
根据上述文章,'dmFields'掩码包含更多标志。也许必须设置(和相应的字段归零)来分离显示器? – valdo
我试过了,它没有工作。在他们的例子中,他们使用所有可能的标志 - 当我这样做时,它会抱怨给定的模式是无效的。当我删除它的DM_BITSPERPEL标志时,它的结果不会改变。显示器轻弹并保持活动状态。 – Alex