我試圖按照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