当监视器设置为“仅显示桌面1”时,访问WPF中的第二个监视器

时间:2012-02-07 20:58:35

标签: wpf windows-7 multiple-monitors

我正在编写一个应用程序,它将在带有显示器和前面板作为双屏幕设置的Windows 7系统上运行。虚拟桌面软件将在大多数时间用于访问它,虚拟化软件应仅显示显示器上的内容,而不是前面板。

当设置为“扩展这些显示”时,虚拟化软件会将两个屏幕拼接在一起,并且似乎没有办法将其关闭。如果我将“多个显示”设置设置为“仅显示桌面1”,则虚拟化系统可以正常工作,但现在在我的WPF应用程序中,就好像第二个监视器不存在一样。我的Screen.AllScreens数组只显示一个监视器。

当桌面设置为“仅显示桌面1”时,有没有办法让我的WPF应用程序以全屏模式在第二台显示器上显示?就本申请而言,它只能全屏显示。

1 个答案:

答案 0 :(得分:0)

您正在从错误的角度接近问题。您需要查看虚拟桌面软件,而不是您的应用程序或Windows本身。

首先,要让Windows使用您想要的双屏幕,您必须设置“扩展这些显示”。如果没有这个,Windows或任何其他软件都无法使用第二个显示器。

其次,在“虚拟桌面软件”下,我假设有类似远程桌面,TeamViewer或VNC的东西。所有这些程序都应该允许您选择是否显示所有显示。例如,在远程桌面中,在连接之前,您可以选择选项 - >显示 - >取消选中“将所有监视器用于远程会话”。

另一方面,如果您正在寻找一种方法限制最终用户,他/她无法访问或查看其他显示器,那么您必须找到虚拟桌面软件只能显示主显示屏(这可能非常困难,因为大多数软件都可以处理多显示器设置)。另一种解决方案是扩展您自己的软件,将其主屏幕输出流式传输到另一台机器并接受来自它的输入 - 考虑编写您自己的虚拟桌面软件。