现在很多显卡都带有S端子,可以直接接到电视或投影仪(当然双头显卡或是用双显卡也可以)。
winXp已经内置支持双显示器。装了双输出的显卡后在显示属性里会看到有二个监视器图标了。
在第二个监视器上选中“将window桌面扩展到该监视器上”,就可以把第二个监视器当作{dy}个监视器的延伸来用了。
例如二个监视器的分辨率都是1280*1024的话,那二个监视器加起来就有了2560*1024的桌面了。
使用时也很方便,只要把窗口拖到另一个监视器中去就行了。
这样可以在一个监视器上打开vs2005在另一监视器上打开msdn;或是在一个监视器上写程序另一个监视器上用pplive看世界杯。
.net2.0在System.Windows.Forms.Screen类提供了对多监视器的支持(参见ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/CPref17/html/T_System_Windows_Forms_Screen.htm)。
名称 | 说明 | |
---|---|---|
获取系统上所有显示器的数组。 | ||
获取与数据的一个像素相关联的内存位数。 | ||
获取显示的边界。 | ||
获取与显示关联的设备名称。 | ||
获取一个值,该值指示某个显示是否为主设备。 | ||
获取主显示。 | ||
获取显示器的工作区。工作区是显示器的桌面区域,不包括任务栏、停靠窗口和停靠工具栏。 |
名称 | 说明 | |
---|---|---|
已重载。 已重写。 | ||
在 中检索包含指定控件的{zd0}部分的显示器。 | ||
检索包含该对象(被指定句柄所引用)的{zd0}部分的显示器的 Screen。 | ||
检索包含指定点的显示器的 Screen。 | ||
检索包含矩形的{zd0}部分的显示器的 Screen。 | ||
已重载。 检索显示器的边界。 | ||
已重写。 计算并检索对象的哈希代码。 | ||
获取当前实例的 |
||
已重载。 检索显示器的工作区。 | ||
确定指定的 |
||
已重写。 检索表示此对象的字符串。 |
如要将窗体移到辅显示器上显示,只需一行代码:
有了这个类,在程序中控制使用双监视器就很简单了,只要将窗体的移到相应监视器的坐标范围就可以了。
如下图,笔者用的是二个17寸LCD,主监视器分辨率用1280*1024,辅监视器放在右边,因为距离远了点所以分辨率用低了一档为1024*768。
笔者现在在开发的系统中就有一个子系统需要实现进入系统后在主监视器操作而在辅监视器上全屏播放视频。
最初的方案是用一个商业软件,此软件可以在winxp中实现用二套鼠标键盘,二个用户登录后分别在二个监视器上工作,互不干扰。每次重启后都要用另一个用户登录进去播放视频,后来觉得这样太麻烦,找到资料好就自己写了个简单的播放器。在系统启动后自动在辅监视器上全屏播放视频。省去了每次要登录二个用户的麻烦。