如何利用程序设置双显示器克隆模式,扩展模式等
在windows vista home版,第一次接入一个外接显示器后,系统会弹出一个菜单,让你设置extended模式或者mirrored模式。
如果选择了扩展模式,则就算在桌面属性中去掉secondary的"extend..."checkbox,按Fn+F4也不会变成mirrored模式。如果想变回mirrored,需要在桌面属性页点开"connect to a projector or other extenal display",在display这个项目下点"connect display"重新配置为mirrored模式(一旦改变mirrored为extended,也需要通过此方法改回)。
Fn+F4可完成只primary display显示,只secondary display显示,mirrored or extended模式。
现在我想用程序实现Fn+F4以及mirrored和extended切换等功能。
1、如何得到目前是哪种状态? -- mirrored、extended、只primary、只secondary
2、如何设置?
可行办法:
1、比较简单的,模拟Fn+F4这种按键实现,及模拟鼠标按键等调出"connect to ...."等完成。但xp,vista/win7不同,得特殊做。而且还不容易保证每次都成功。另外需要知道当前是何种模式。
未解决办法:
1、利用EnumDisplayDevices,EnumDisplaySettings,ChangeDisplaySettingsEx完成。
参考:http://support.microsoft.com/kb/308216及http://support.microsoft.com/kb/306399
跟据两篇文章,可以完成扩展模式与只primary显示的切换。但在去掉secondary显示后重启机器,还是扩展模式,即不能保存效果。也不知道怎么完成上面我提到的功能。
另外,我还发现我不大理解的地方,在各种模式下,EnumDisplayDevices得到的结果不一样。比如,在mirrored及只secondary显示模式下,我能得到\\.\DISPLAY1\Monitor0和\\.\DISPLAY1\Monitor1,而在extended及只primary显示模式下,我只能得到\\.\DISPLAY1\Monitor0。(此结果对应装有vista home basic的notebook)
针对上面两种功能,小弟我实在想不出来咋搞了~
谢谢大家