在显示器(窗口)之间交换桌面

在显示器(窗口)之间交换桌面

我希望能够将显示器 1 上的桌面与显示器 2 上的桌面交换。

“将显示器 1 上可见的桌面部分与显示器 2 上可见的桌面部分交换的最佳方法是什么?”

Windows 7 64/nVidia。

交换

Desktop-A -> Monitor-1
Desktop-B -> Monitor-2

-toggle-

Desktop-A -> Monitor-2
Desktop-B -> Monitor-1

我以为这就是虚拟桌面的工作方式!我发现的解决方案是将桌面扩展到两个显示器上,或者将每个显示器的桌面分开,这样就无法在显示器 2 上显示显示器 1/桌面 A。

克隆

Desktop-A -> Monitor-1
Desktop-A -> Monitor-2

-toggle-

Desktop-B -> Monitor-1
Desktop-B -> Monitor-2

我研究过这些实际窗口管理器、DisplayFusion、VirtuaWin、GiMeSpace、NirCmd、Dexpot、Finestra、mDesktop 等等……它们可以一次移动一个窗口,甚至可以指定窗口应该在哪个显示器上打开,但它们无法交换整个桌面。

我可能会编写一个 AHK 来帮我移动窗口,但我确信会有一些障碍。也许有人已经针对各种 Windows 版本、显示尺寸、子窗口解决了这个问题……

场景:1. 将正在使用的桌面移至主显示器。2. 第二台显示器暂时不可用。(电视)

答案1

解决方案。感谢 Techie007 引导我重新查看脚本:

MonSwap -https://autohotkey.com/board/topic/17885-dual-monitor-swap/
使用 Win+Shift+S 将所有窗口从一个显示器切换到另一个显示器,
到目前为止,在我的测试中每次都有效。
可以轻松修改为 3 个以上显示器。

双显示器工具 -http://dualmonitortool.sourceforge.net/download.html
将所有窗口“旋转”到下一个显示器。
选项 -> 交换屏幕 -> 其他窗口 -> 向前旋转屏幕。
当有两个窗口类别/标题时,有时会使它们的顺序混乱。

答案2

显示融合 通过以下方式脚本

下面是一个 DF 自定义脚本示例,它将在监视器 1 和 2 之间交换所有可见窗口:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;

public static class DisplayFusionFunction
{
    public static void Run(IntPtr windowHandle)
    {
        // Get visible window handles on monitors 1 and 2.
        IntPtr[] windowHandles1 = BFS.Window.GetVisibleWindowHandlesByMonitor(1);
        IntPtr[] windowHandles2 = BFS.Window.GetVisibleWindowHandlesByMonitor(2);

        // Iterate through window handles on each monitor, and send each to the other monitor.
        for (int i = 0; i < windowHandles1.Length; i++) {
            BFS.Window.MoveToMonitor(2, windowHandles1[i]);
        }

        for (int i = 0; i < windowHandles2.Length; i++) {
            BFS.Window.MoveToMonitor(1, windowHandles2[i]);
        }
    }
}

答案3

我可以推荐 Sysinternals 开发的名为“Desktops”的工具。它允许您拥有多个桌面,并通过组合键在它们之间切换。我自己一直在我的 Windows 机器上寻找类似的解决方案,而我找到的最接近的解决方案是 Desktops。

关联:https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx

答案4

另一个可能的解决方案:

监视器 1 使用虚拟桌面
监视器 2 显示监视器 1 的寻呼机

奖励:寻呼机将全屏显示,并且只显示“隐藏”的桌面。

相关内容