【问题标题】:Accessing second monitor in WPF when monitor setup set for "Show Desktop Only On 1"当监视器设置设置为“仅在 1 上显示桌面”时访问 WPF 中的第二个监视器
【发布时间】:2012-02-07 20:58:35
【问题描述】:

我正在编写一个应用程序,它将在带有监视器和前面板的 Windows 7 系统上运行,作为双屏设置。大部分时间将使用虚拟桌面软件来访问它,并且虚拟化软件应该只显示显示器上的内容,而不是前面板。

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

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

【问题讨论】:

  • 有趣的问题。如果您没有得到答案并最终破解 WinAPI,请发布您的解决方案。

标签: wpf windows-7 multiple-monitors


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 2021-11-09
    • 2022-06-10
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 2015-01-12
    • 2011-12-04
    • 1970-01-01
    相关资源
    最近更新 更多