Windows 10 nie pozwala już na przeciąganie pseudomaksymalnych okien; czy istnieje rozwiązanie?

12

W systemie Windows 10 nie mogę już przeciągać się po oknie, które jest pseudo-maksymalizowane. Na przykład okno Pulpitu zdalnego, które jest „zmaksymalizowane” do maksymalnego rozmiaru 1280x1024 (na mój plik .rdp), musi zostać przywrócone do mniejszego rozmiaru, a następnie przeciągnięte, a następnie przywrócone, nawet jeśli samo okno nie jest zmaksymalizowane do obszar roboczy monitora. Nie było to wcześniej problemem w systemie Windows 8.1 (lub innych wersjach systemu Windows).

Dołożyłem należytej staranności przy niektórych badaniach. Oto kilka rzeczy, które zbadałem i które okazały się nie być przyczyną ani pomocne:

  • Ustawienia AeroSnap lub dostępność systemu Windows
  • Funkcje lub ustawienia sterownika wideo
  • Inne narzędzia do monitorowania lub paska zadań innych firm

Każde oprogramowanie, które jest zmaksymalizowane w ten sposób, jest zablokowane i musi zostać przywrócone, zanim będę mógł je teraz przeciągnąć, w tym wspomniany Pulpit zdalny, kilka gier, w które gram w trybie okienkowym itp. Inne aplikacje, które nie są zmaksymalizowane, oczywiście nie mieć ten problem.

Aplikację testową można wbudować w .NET, aby zademonstrować ten problem. Po prostu skompiluj aplikację WinForms za pomocą Form.MaximizedBounds o dowolnej wartości, takiej jak 500,500, i przy maksymalnym uruchomieniu formularza (Form.WindowState = Maximized). W systemie Windows 8.1 (i wcześniejszych) można go bez problemu przeciągać po ekranie, jednak w systemie Windows 10 nie jest to możliwe.

Ktoś wie, co daje i czy są jakieś obejścia?

psouza4
źródło
Wydaje mi się, że mogę przeciągać okna o stałym rozmiarze bez problemu na moim komputerze z systemem Windows 10. Czy korzystasz z jednego monitora przypadkowo? Ponieważ używam wielokrotności.
Arthur Kay,
Jest to potrójna konfiguracja monitora ułożona poziomo (tak jak w Windows 8.1). Czekam na sugestie dotyczące rzeczy do wypróbowania. Należy pamiętać, że problemy ze stałymi rozmiarami nie są problemem, to w szczególności problem z zmaksymalizowanymi oknami.
psouza4,
Wystarczy wejść. Windows 10 maksymalizujący RDP do swojego ograniczonego rozmiaru jestem w stanie go przenosić.
Unfundednut
Jest to czysta instalacja systemu Windows 10 (nie aktualizacja) ze świeżo sformatowanego dysku z przeważnie domyślnymi ustawieniami i sterownikami ekranu nVidia za pośrednictwem GeForce z domyślnymi ustawieniami. Jeśli możesz zasugerować ustawienie, które mogę dostosować, które to naprawi, podaj odpowiedź, aby zweryfikować i przyznać nagrodę.
psouza4,
1
Do Twojej dyspozycji utworzyłem aplikację .NET Windows Forms Application MaximizedBounds = new Rectangle(500,500, 500, 500); WindowState = FormWindowState.Maximized;i jestem w stanie przeciągnąć ją z trybu zmaksymalizowanego. Okno natychmiast staje się normalne i przesuwa się tam, gdzie chcę. (.NET 4.6)
Mik

Odpowiedzi:

2

Wiem, że to stary temat, ale nęka mnie od czasu przejścia na system Windows 10 i właśnie go rozwiązałem ostatniej nocy. Odpowiadam więc, aby pomóc innym ludziom.

Po pierwsze moja sytuacja. Zarządzam około 16 serwerami z mojego domowego biura. Utworzyłem zapisane połączenia RDP dla każdego serwera na moim pulpicie. Każdego dnia loguję się do każdego serwera za pomocą tych połączeń, aby sprawdzić logi, stan sprzętu itp. Robię je wszystkie naraz, więc przynajmniej raz dziennie mam otwarte 16 okien RDP. Ciągłe zmniejszanie rozmiarów i przyciąganie do krawędzi ekranu doprowadzało mnie do szaleństwa!

Oto, co zrobiłem, aby to naprawić ...

Klikając prawym przyciskiem myszy każde zapisane połączenie RDP, wybierając opcję „otwórz za pomocą”, a następnie wybierając Notatnik, można przejść do zwykłego pliku tekstowego, który definiuje połączenie RDP (w przeciwieństwie do typowego panelu właściwości RDP interfejsu GUI). Na każdym z moich zapisanych połączeń zmieniłem następujące 4 parametry: identyfikator trybu ekranu, szerokość pulpitu, wysokość pulpitu i winposstr! Oto jak wyglądają na jednym z moich typowych zapisanych połączeń RDP:

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

Identyfikator trybu ekranu musi być ustawiony na 1. To sprawia, że ​​sesja zdalna pojawia się w oknie.

Szerokość i wysokość pulpitu są oczywiste ... ale mogą być dowolne, o ile są mniejsze niż ekran, na którym je oglądasz.

Winposstr jest ważny. Kiedy otworzysz zapisany plik połączenia RDP, piąta i szósta wartość tego parametru będzie znacznie mniejsza w porównaniu z trzecim i czwartym parametrem niż w moim przykładzie. Musisz edytować te dwie ostatnie wartości ... powiększ je! Aby okno RDP otworzyło się w pełnym rozmiarze, musisz dodać żądaną rozdzielczość pionową i poziomą (plus trochę więcej) odpowiednio do trzeciej i czwartej liczby. Więc 1575+1280=2855. Jeśli podasz tę liczbę jako piątą wartość, nadal będziesz otrzymywać paski przewijania. Więc w tym przypadku w moim systemie wstawiłem 2900. Podobnie, 160 + 1024 = 1184. 1200 wciąż dawało mi paski przewijania, więc wypróbowałem 1230 i zadziałało.

Nie poświęciłem jeszcze czasu, aby dokładnie ustalić, co reprezentują trzecia i czwarta liczba. To oczywiste, że w jakiś sposób określają pozycję okna na moim ekranie, ale po prostu nie odkryłem tej dokładnej relacji. Te liczby prawdopodobnie będą dla Ciebie różne ... kiedy zapiszesz własny plik połączenia RDP, prawdopodobnie będą się różnić, ponieważ masz inną konfigurację niż ja. Ale chodzi o to, że musisz dodać poziome i pionowe rozdzielczości pożądanego okna RDP do trzeciej i czwartej liczby, cokolwiek to jest, PLUS trochę więcej, a następnie zastąp piątą i szóstą liczbę otrzymanymi wynikami!

Po wprowadzeniu zmiany zapisz plik i zamknij go. Następnie po dwukrotnym kliknięciu tego połączenia RDP powinno ono otworzyć pełny rozmiar i być w stanie przeciągnąć go w dowolne miejsce bez automatycznego zmniejszania rozmiaru !!!!

W moim systemie lewy górny róg sesji RDP zdefiniowany powyższymi parametrami będzie 0 pikseli w dół od górnej części ekranu i 3 piksele od lewej krawędzi. Możesz zmienić położenie początkowe, edytując te wartości ... na przykład 10,10 spowoduje zmniejszenie o 10 pikseli i dziesięć od lewej. Ale jeśli dodasz do tych wartości, TAKŻE musisz również dodać do piątej i szóstej wartości. Jak powiedziałem, jeszcze nie ustaliłem dokładnego związku ... po prostu wiedz, że jeśli je zmienisz, być może będziesz musiał zwiększyć piątą i szóstą wartość, aby uniknąć pasków przewijania.

Wreszcie w moim systemie mam parametr „Zapobiegaj automatycznemu rozmieszczaniu systemu Windows po przeniesieniu do krawędzi ekranu” Niezaznaczony (znajduje się w sekcji „Ułatwienie korzystania z myszy” w Centrum ułatwień dostępu).

ACL3
źródło
Witamy w Super User. Po przeczytaniu odpowiedzi jasne jest, że masz działające rozwiązanie, jednak Super User to witryna z pytaniami i odpowiedziami (w porównaniu z forum), a odpowiedzi powinny uniknąć szczegółów konwersacji. Zmodyfikuj swój, aby bardziej skoncentrować się na konkretnych krokach potrzebnych do wdrożenia rozwiązania. Zbyt dużo szczegółów utrudnia innym użytkownikom użycie Twojej odpowiedzi. Dziękuję za pomoc.
Mówię: Przywróć Monikę
Niestety nie jest to również akceptowalne rozwiązanie opisanego problemu, który jest specyficzny dla systemu Windows 10, a nie usług terminalowych / pulpitu zdalnego. Chociaż problem występuje w sesjach RDP, jest on również widoczny w innych aplikacjach (jak opisano w moim poście). Ponadto ustawienie „Zapobiegaj systemowi Windows przed ...” w Twoim komentarzu jest częścią AeroSnap, o którym już mówiliśmy. Chociaż możesz odkryć obejście dla jednej aplikacji (sesje RDP), nie naprawia ona wielu innych, które są również pseudo-maksymalizowane, a zatem nie mogą zostać zaakceptowane. Dziękuję za szczegółową próbę.
psouza4
0

Najpierw kilka podstawowych informacji. Często używam wielu sesji RDP do łączenia się z różnymi zdalnymi systemami jednocześnie. Każde okno RDP jest skonfigurowane na 1280 x 768 w moim systemie, który ma dwa monitory, gdzie każdy monitor ma rozdzielczość 1920 x 1080.

W Win 10, kiedy otwieram secję RDP, okno zmaksymalizowane psuedo utknęło w lewym górnym rogu i nie można go nigdzie przeciągnąć. Jak informowałeś, okna RDP zachowywały się inaczej w Win 7 i 8.

Jednak niedawno odkryłem obejście tego problemu.

W Win 10, po otwarciu sesji RDP, „zmaksymalizuj” okno RDP. Staje się o pół wielkości z poziomymi i pionowymi paskami przewijania. Ręcznie zmień rozmiar okna RDP o połowę, aż znikną paski przewijania. Teraz możesz przeciągnąć ręcznie „pseudo-zmaksymalizowane” okno RDP w dowolne miejsce, tak jak w Win 7 i 8. Bądź jednak ostrożny. Jeśli przypadkowo klikniesz dwukrotnie pasek tytułu, okno RDP przeskoczy z powrotem do lewego górnego rogu, automatycznie „pseudo-zmaksymalizowane” i ponownie stanie się nieruchome.

Chociaż nie jest to idealne obejście, mogę je tolerować.

cc8772850
źródło
Ta odpowiedź nie rozwiązuje problemu ze wszystkimi pseudomaksymalizowanymi oknami. Zobacz mój oryginalny post, używając przykładowej aplikacji niezwiązanej z sesjami RDP i innymi komentarzami. W centrum uwagi nie są sesje RDP.
psouza4
-1

Jeśli uznaję twój komentarz za najdokładniejszą informację, mamy sytuację, w której rozmiar okna nie zachowuje zmaksymalizowanego stanu podczas przenoszenia, ale nie wymaga, abyś najpierw go zminimalizował, jak pierwotnie podano w pytaniu.

Zakładając, że powyższe jest prawdziwe, przepływ pracy, którego używam w konfiguracji z wieloma monitorami (która działa w Windows 7, 8 i 10), przeciąga zmaksymalizowane okno z jego bieżącej lokalizacji (powodując w ten sposób zmianę rozmiaru okna na mniejszy rozmiar), na górze drugiego ekranu, co powoduje powrót okna do maksymalnego stanu. Działa to również w celu maksymalizacji okna, które nie jest jeszcze zmaksymalizowane.


Jeśli powyższe nie jest akceptowalnym obejściem i wyczerpałeś eksperymentowanie z opcjami w Wielozadaniowość> Snap, być może edycja rejestru zostanie rozwiązana. Ten sam WindowArrangementActivewpis, który kontroluje Aero Snap, jak szczegółowo opisano w tej odpowiedzi: /superuser//a/222609/61471 istnieje w Windows 8 i 10.

David Metcalfe
źródło
Niestety uważam, że moje oryginalne pytanie i dołączone do niego komentarze opisują twoją odpowiedź jako niedopuszczalną propozycję. Zachowanie widoczne we wcześniejszych wersjach systemu operacyjnego Windows (wcześniejszych niż Windows 10) pozwalało na przeciąganie okna w jego w pełni zmaksymalizowanym stanie (pseudomaksymalizowanym, takim jak okno maksymalizacji RDP) bez żadnych zmian w jego stanie zmaksymalizowanym i przy wyłączonym systemie Windows Aero. Nawet w konfiguracji innej niż wielomonitorowa, pseudo-zmaksymalizowaną sesję RDP można przeciągać z jednego obszaru ekranu do drugiego bez zmiany rozmiaru okna. Tak już nie jest w Windows 10.
psouza4,
-1

Właśnie znalazłem odpowiedź. Miałem ten sam problem. We właściwościach systemu kliknij wielozadaniowość. Następnie włącz opcję „Rozmieść okna automatycznie, przeciągając je na boki lub rogi ekranu”. Rozwiązano ten problem zablokowanych zmaksymalizowanych stron internetowych na każdym monitorze. Konfiguracja 3 monitorów tutaj. Mam nadzieję że to pomoże.

John Newell
źródło
Nie jest to w ogóle rozwiązanie opisanego problemu. Ustawienie w twoim komentarzu jest częścią AeroSnap, o której już mówiliśmy. Problem występuje głównie w pseudo-maksymalizowanych oknach (oknach, które są w stanie zmaksymalizowanym, ale nie wypełniają całego monitora, takich jak połączenia RDP).
psouza4
-1

Jesteśmy o kilka lat w przyszłości i mam dla ciebie łatwiejsze rozwiązanie. Zmodyfikuj zapisany plik .rdp za pomocą notatnika i dodaj poniżej linii „inteligentnego rozmiaru”, aby okno sesji RDP zostało zmaksymalizowane do określonej rozdzielczości.

inteligentne wymiarowanie: i: 1

William
źródło
Czy możesz coś więcej rozwinąć?
Toto
Może to być obejście jednego programu, ale nie poprawia ani nie zastępuje pożądanego zachowania. RDP był jednym z takich przykładów, który można łatwo przetestować w systemie Windows, ale nie był jedyną szkodliwą aplikacją.
psouza4