2012-02-07 101 views
3

我正在编写一个应用程序,该显示器和前面板将作为双屏幕设置在Windows 7系统上运行。大多数时候将使用虚拟桌面软件访问它,而虚拟化软件只能显示监视器上的内容,而不是前面板。当显示器设置为“仅显示桌面1”时访问WPF中的第二台显示器

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

当桌面设置为“只显示桌面1”时,是否有办法让我的WPF应用程序以全屏模式显示在第二台显示器上?为了这个应用程序的目的,它只会是全屏。

+0

有趣的问题。如果你没有得到答案,并最终黑客WinAPI,请张贴您的解决方案。 – 2012-02-07 21:55:56

回答

0

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

首先,Windows要使用双屏幕,您需要设置“扩展这些显示”。没有这个,Windows或任何其他软件不可能使用第二台显示器。其次,在“虚拟桌面软件”下,我假设了一些类似于远程桌面,TeamViewer或VNC的东西。所有这些程序都应该允许您选择是否显示所有显示。例如,在远程桌面中,在连接之前,您可以选择选项 - >显示 - >取消选中“将所有监视器用于远程会话”。

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