3

Я хочу иметь возможность поменять рабочий стол на мониторе 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

Я думал, что так работают виртуальные рабочие столы! Решения, которые я нашел, используют растягивание рабочего стола по обоим мониторам или раздельные рабочие столы каждого монитора, где вы не можете отобразить Monitor-1/Desktop-A на Monitor-2.

клон

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

-toggle-

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

Я смотрел на эти Actual Window Manager, DisplayFusion, VirtuaWin, GiMeSpace, NirCmd, Dexpot, Finestra, mDesktop и другие ... они могут перемещать одно окно за раз, и даже указывать, на каком мониторе должно открываться окно, но у них нет возможности поменять весь рабочий стол.

Я мог бы написать AHK, чтобы переместить окна для меня, но я уверен, что будут препятствия. Может быть, кто-то занимался этим для разных версий окон и для отображения размеров дочерних окон ...

Сценарии:1. Переместите рабочий стол на основной монитор. 2. Второй монитор временно недоступен. (ТВ)

4 ответа4

1

Решения. Спасибо Techie007 за возвращение меня к рассмотрению сценариев:

MonSwap - https://autohotkey.com/board/topic/17885-dual-monitor-swap/
Поменяйте местами все окна с одного монитора на другой с помощью Win+Shift+S
До сих пор каждый раз работал в моем тестировании.
Можно легко модифицировать для 3+ мониторов.

Инструменты для двух мониторов - http://dualmonitortool.sourceforge.net/download.html
"Повернуть" все окна к следующему монитору.
Параметры -> Обмен экранами -> Другие окна -> Поворот экрана вперед.
Когда 2 окна класс / заголовок, иногда выводит их из строя.

0

Я могу предложить инструмент под названием "Рабочие столы" производства Sysinternals. Это позволяет вам иметь несколько рабочих столов и переключаться между ними с помощью комбинации клавиш. Я сам искал похожее решение на своей машине с Windows, и самым близким, что я нашел, были рабочие столы.

Ссылка: https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx

0

Другое возможное решение:

Монитор 1 использует виртуальные рабочие столы
Монитор 2 показывает пейджер для Монитора 1

Бонус: пейджер будет отображаться в полноэкранном режиме, и только «скрытый» рабочий стол (ы).

0

DisplayFusion может сделать это с помощью сценариев.

Вот пример пользовательского сценария 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]);
        }
    }
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .