2

настроить

У меня есть несколько настроек нескольких мониторов, где основной экран меняется, но текущая целевая установка такова:

  • л.с. zbook 15 g2
  • 2x acer hul WQHD с цепочкой

шаг 1/ проблема 1

после выхода из режима ожидания я должен 1-й выключить гирляндный дисплей (если он был только в режиме ожидания), а затем включить, иначе 2-й дисплей не распознается.

PS: я думаю, что это проблема драйвера /zbook, и поэтому я не ожидаю решения этой проблемы, но это было бы бонусом;) - потому что у меня нет этой проблемы с такой же настройкой на GTX 960.

проблема 2

после этого конфигурация дисплея корректно восстанавливается с правильным набором основного монитора; но: все мои окна все еще на дисплее ноутбука, который теперь является третьим и наименее используемым.

в розыске

я хочу, чтобы все окна (у меня было более 20 открытых, будучи супер /poweruser / разработчиком) были перенесены на основной экран.

так кто-нибудь знает инструмент для перемещения всех окон на главный дисплей? если нет, я запишу сценарий / программу себя.

текущее решение

я знаю ярлыки win+shift+arrow, но я должен сделать это для всех окон, что я и делаю сейчас, но это громоздко!

не рабочие идеи

  • отключить дисплей ноутбука и затем снова активировать его
  • переключить основной дисплей

1 ответ1

1

У меня тоже была такая же проблема.

Я обнаружил, что слияние дисплея решило большинство моих проблем с тройным отображением.

Сценарий, который я использую с отображением Fusion ниже

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

// The 'windowHandle' parameter will contain the window handle for the:
// - Active window when run by hotkey
// - Window Location target when run by a Window Location rule
// - TitleBar Button owner when run by a TitleBar Button
// - Jump List owner when run from a Taskbar Jump List
// - Currently focused window if none of these match

public static class DisplayFusionFunction
{
    public static void Run(IntPtr windowHandle)
    {
        // get visible window handles
        IntPtr[] handles = BFS.Window.GetVisibleWindowHandles();

        // loop through window handles and send each to the next monitor
        for (int i = 0; i < handles.Length; i++)
            BFS.Window.MoveToNextMonitor(handles[i]);
    }
}

https://www.displayfusion.com/

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