Windows 10 больше не позволяет перетаскивать псевдо-развернутые окна; есть ли решение?

12

В Windows 10 я больше не могу перетаскивать окно, которое является псевдо-развернутым. Например, окно «Удаленный рабочий стол», которое «максимизировано» до максимального размера 1280x1024 (для моего файла .rdp), должно быть восстановлено до меньшего размера, затем перетаскивано, а затем восстановлено, даже если само окно не развернуто до рабочая область монитора. Ранее это не было проблемой в Windows 8.1 (или других версиях Windows).

Я провел тщательную проверку с некоторыми исследованиями. Вот некоторые вещи, которые я исследовал и которые не являются причиной или полезны:

  • Настройки или доступность Windows AeroSnap
  • Функции или настройки видеодрайвера
  • Другие сторонние утилиты для мониторинга или панели задач

Любое имеющееся у меня программное обеспечение, максимизированное таким образом, заблокировано и должно быть восстановлено, прежде чем я смогу перетащить его сейчас, включая вышеупомянутый удаленный рабочий стол, несколько игр, в которые я играю в оконном режиме, и т. Д. Другие приложения, которые не максимизируются, конечно, не делают этого. есть эта проблема.

Тестовое приложение может быть встроено в .NET, чтобы продемонстрировать эту проблему. Просто создайте приложение WinForms с Form.MaximizedBounds произвольного значения, например 500 500, и при запуске разверните форму максимально (Form.WindowState = Maximized). В Windows 8.1 (и более ранних версиях) его можно без проблем перетаскивать по экрану, однако в Windows 10 это невозможно.

Кто-нибудь знает, что дает и есть ли обходные пути?

psouza4
источник
Кажется, я могу без проблем перетаскивать окна фиксированного размера на моем компьютере с Windows 10. Вы используете один монитор для каждого случая? Потому что я использую несколько.
Артур Кей
Это тройная установка монитора, расположенная горизонтально (как это было в Windows 8.1). Я рад предложениям о том, что можно попробовать. Имейте в виду, что проблемы фиксированного размера - это не проблема, а проблема с максимизируемыми окнами.
psouza4
Просто чтобы войти. Windows 10 максимизирует RDP до его ограниченного размера, я могу перемещать его.
unundednut
Это чистая установка Windows 10 (не обновление) со свежеформатированного диска с настройками по умолчанию, в основном с драйверами дисплея nVidia через GeForce с настройками по умолчанию. Если вы можете предложить параметр, который я могу изменить, чтобы исправить это, пожалуйста, предоставьте ответ, чтобы я мог проверить и назначить вознаграждение.
psouza4
1
К вашему сведению, я создал приложение .NET Windows Forms MaximizedBounds = new Rectangle(500,500, 500, 500); WindowState = FormWindowState.Maximized;и могу перетащить его из развернутого режима. Окно сразу становится нормальным и перемещается туда, куда я хочу. (.NET 4.6)
Мик

Ответы:

2

Я знаю, что это старая тема, но она мучила меня с момента перехода на Windows 10, и я только решил ее прошлой ночью. Поэтому я отвечаю на это, чтобы, возможно, помочь другим людям.

Во-первых, моя ситуация. Я управляю около 16 серверами из моего домашнего офиса. Я создал сохраненные RDP-соединения для каждого сервера на моем рабочем столе. Каждый день я подключаюсь к каждому серверу, используя эти соединения, чтобы проверять журналы, состояние оборудования и т. Д. Я делаю их все сразу, поэтому, по крайней мере, один раз в день у меня одновременно открываются 16 окон RDP. Постоянное сокращение и привязка к краю экрана сводило меня с ума!

Вот что я сделал, чтобы это исправить ...

Щелкнув правой кнопкой мыши каждое сохраненное соединение RDP и выбрав «Открыть с помощью», а затем выбрав «Блокнот», вы можете получить простой текстовый файл, который определяет соединение RDP (в отличие от типовой панели свойств RDP GUI). На каждом из моих сохраненных подключений я менял следующие 4 параметра: идентификатор режима экрана, ширину рабочего стола, высоту рабочего стола и winposstr! Вот как они выглядят на одном из моих типичных сохраненных RDP-соединений:

screen mode id:i:1
desktopwidth:i:1280
desktopheight:i:1024    
winposstr:s:0,3,1575,160,2900,1230

Идентификатор режима экрана должен быть установлен на 1. Это позволяет удаленному сеансу появляться в окне.

Ширина и высота рабочего стола говорят сами за себя ... но они могут быть любыми, если они меньше экрана, на котором вы их просматриваете.

Winposstr является важным. Когда вы открываете сохраненный файл RDP-соединения, пятое и шестое значения этого параметра будут намного меньше по сравнению с третьим и четвертым параметрами, чем в моем примере. Вы должны отредактировать эти последние два значения ... сделать их больше! Чтобы ваше окно RDP открылось в полном размере, вам нужно добавить желаемое разрешение по вертикали и горизонтали (плюс немного больше) к третьему и четвертому числам соответственно. Так, 1575+1280=2855. Если вы введете это число в качестве пятого значения, вы все равно получите полосы прокрутки. Так что в этом случае в моей системе я поставил 2900. Аналогично 160 + 1024 = 1184. 1200 все еще дал мне полосы прокрутки, поэтому я попробовал 1230, и это сработало.

Я еще не удосужился выяснить, что именно представляют третье и четвертое числа. Очевидно, что они как-то определяют положение окна на моем экране, но я просто не выяснил, какие именно отношения. И эти цифры, вероятно, будут отличаться для вас ... когда вы сохраните свой собственный файл подключения RDP, они, вероятно, будут отличаться, потому что у вас другая настройка, чем у меня. Но дело в том, что вы должны добавить горизонтальное и вертикальное разрешение нужного вам окна RDP к третьему и четвертому числам, какими бы они ни были, плюс немного больше, а затем заменить пятое и шестое число полученными результатами!

После внесения изменений сохраните файл и закройте его. Затем, когда вы дважды щелкнете по этому соединению RDP, оно должно открыться в полном размере и иметь возможность перетаскивания в любую нужную вам позицию без автоматического уменьшения размера !!!!

В моей системе верхний левый угол сеанса RDP, определенный вышеуказанными параметрами, будет на 0 пикселей ниже верхней части моего экрана и на 3 пикселя от левого края. Вы можете изменить исходное положение, отредактировав эти значения ... например, 10,10 поместит его на 10 пикселей вниз и на десять слева. Но если вы добавите к этим значениям, вы также должны добавить к 5-му и 6-му значениям. Как я уже сказал, я еще не выяснил точные отношения ... просто знайте, что если вы измените их, вам, возможно, придется увеличить 5-е и 6-е значения, чтобы избежать полос прокрутки.

Наконец, в моей системе у меня есть параметр «Запретить автоматическое расположение Windows при перемещении к краю экрана», параметр UNchecked (он находится в разделе «упростить использование мыши» в Центре легкости доступа).

ACL3
источник
Добро пожаловать в Супер пользователя. Прочитав ваш ответ, вы поймете, что у вас есть рабочее решение, однако Super User - это сайт вопросов и ответов (вместо форума), и ответы, как ожидается, будут избегать разговорных деталей. Пожалуйста, измените ваш, чтобы больше сосредоточиться на конкретных шагах, необходимых для реализации вашего решения. Слишком много деталей затрудняет использование вашего ответа другими пользователями. Спасибо за помощь.
Я говорю: восстанови Монику
К сожалению, это также не является приемлемым решением для описанной проблемы, которая характерна для Windows 10, а не для служб терминалов / удаленного рабочего стола. В то время как проблема видна с сеансами RDP, она также видна в других приложениях (как описано в моем посте). Кроме того, настройка «запретить окнам ...» в вашем комментарии является частью AeroSnap, которая уже обсуждалась. Хотя вы, возможно, обнаружили обходной путь для одного приложения (сеансы RDP), он не исправляет многие другие, которые также являются псевдомаксимальными и поэтому не могут быть приняты. Спасибо за подробную попытку.
psouza4
0

Сначала немного справочной информации. Я часто использую несколько сеансов RDP для одновременного подключения к различным удаленным системам. Каждое окно RDP настроено на 1280x768 в моей системе с двумя мониторами, каждый из которых имеет разрешение 1920x1080.

На Win 10, когда я открываю видение RDP, окно, развернутое по псевдо-максу, застревает в верхнем левом углу и не может никуда перетаскиваться. Как вы сообщали, окна RDP вели себя по-разному на Win 7 и 8.

Тем не менее, я недавно обнаружил обходной путь.

На Win 10, после открытия сеанса RDP, «разверните» окно RDP. Это становится половинным с горизонтальными и вертикальными полосами прокрутки. Изменяйте размер окна RDP половинного размера вручную, пока полосы прокрутки не исчезнут. Теперь вы можете перетащить вручную «псевдо-максимизированное» окно RDP куда угодно, так же, как в Win 7 и 8. Будьте осторожны. Если вы случайно дважды щелкнете по строке заголовка, окно RDP переместится обратно в верхний левый угол, автоматически «псевдо-максимизируется» и снова станет неподвижным.

Хотя это не идеальный обходной путь, я могу его терпеть.

cc8772850
источник
Этот ответ не решает проблему со всеми псевдо-развернутыми окнами. Смотрите мой оригинальный пост, используя пример приложения, не связанного с сессиями RDP, и другие комментарии. В центре внимания не сеансы RDP.
psouza4
-1

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

Предполагая, что вышеприведенное верно, рабочий процесс, который я использую в настройке с несколькими мониторами (которая работает в Windows 7, 8 и 10), перетаскивает развернутое окно из его текущего местоположения (таким образом, заставляя окно изменить размер до меньшего размера), в верхней части другого экрана, который возвращает окно в развернутое состояние. Это также работает, чтобы максимизировать окно, которое еще не развернуто.


Если вышеупомянутое не является приемлемым обходным решением, и вы исчерпали экспериментирование с опциями в Многозадачность> Привязка, тогда, возможно, редактирование реестра решит. Та же WindowArrangementActiveзапись, которая управляет Aero Snap, как подробно описано в этом ответе: /superuser//a/222609/61471, существует в Windows 8 и 10.

Дэвид Меткалф
источник
К сожалению, я считаю, что мой оригинальный вопрос и комментарии к нему описывают ваш ответ как неприемлемое предложение. Поведение, наблюдаемое в предыдущих версиях ОС Windows (до Windows 10), позволяло перетаскивать окно в полностью максимизированном состоянии (псевдо-максимизированном, таком как окно RDP с жестким максимизацией) без каких-либо изменений в максимизированном состоянии. и с отключенной Windows Aero. Даже в не мультимониторной настройке сеанс RDP с псевдо-максимизацией можно перетаскивать из одной области экрана в другую без изменения размера окна. Это больше не относится к Windows 10.
psouza4
-1

Просто нашел ответ. У меня была такая же проблема. В свойствах системы нажмите на многозадачность. Затем включите «Автоматически упорядочивать окна, перетаскивая их по сторонам или углам экрана». Решена эта проблема заблокированных развернутых веб-страниц на каждом мониторе. 3 настройки монитора здесь. Надеюсь это поможет.

Джон Ньюэлл
источник
Это не решение описанной проблемы. Настройка в вашем комментарии является частью AeroSnap, который уже обсуждался. Эта проблема широко распространена в псевдо-максимизированных окнах (окна, которые находятся в максимизированном состоянии, но не заполняют весь монитор, например, соединения RDP).
psouza4
-1

Мы на несколько лет впереди, и у меня есть более простое решение для вас. Отредактируйте сохраненный файл .rdp с помощью блокнота и добавьте ниже строку «Smart Sizing», чтобы окно сеанса RDP было развернуто до указанного вами разрешения.

умный размер: я: 1

Уильям
источник
Не могли бы вы подробнее остановиться на этом?
Тото
Это может быть обходной путь для одной программы, но не исправляет или не заменяет желаемое поведение. RDP был одним из таких примеров, который легко тестировался в Windows, но не был единственным нарушающим приложением.
psouza4