Come disabilitare la funzionalità di Windows 7 che massimizza una finestra a schermo intero quando viene spostata sul bordo dello schermo (ma mantiene attive le scorciatoie da tastiera)?


10

Ho seguito questo consiglio: Come disabilitare la finestra di ottimizzazione / ridimensionamento automatico (aero-snap) quando vicino al bordo dello schermo?

Ma disattiva anche la funzione in cui premendo WinKey+ Left/Right Arrow, adatta le finestre a metà dello schermo nella direzione del tasto freccia.

C'è un modo per controllarli in modo indipendente?


Ho cercato la stessa soluzione e credo che non possa essere fatto in modo nativo. Quanto è difficile per Microsoft consentire agli utenti di personalizzare facilmente queste impostazioni?
utente

1
Esattamente troppe cose banali non sono possibili. Perché? Perché la SM non ha idea dell'usabilità. Il loro ultimo xbox one lo mostra il meglio. E si aspettano che le persone paghino somme assurde per il loro software.
Joan Venge,

Risposte:


3

Anche se potrebbe non esserci un modo per farlo attraverso una GUI, c'è un modo per farlo programmaticamente.

La funzione desiderata è SystemParametersInfo . Puoi leggerlo su MSDN se vuoi la sua piena capacità (può accedere a un numero assurdo di impostazioni) ma ti interesserà SPI_SETDOCKMOVINGe SPI_SETSNAPSIZING.

SPI_SETDOCKMOVINGattiva o disattiva le finestre trascinandole per le barre del titolo. Puoi disattivarlo in questo modo:

SystemParametersInfo(SPI_SETDOCKMOVING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

SPI_SETSNAPSIZINGattiva o disattiva la possibilità di bloccare le finestre dimensionandole utilizzando i bordi superiore e inferiore. Puoi disattivarlo in questo modo:

SystemParametersInfo(SPI_SETSNAPSIZING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

Per riattivare entrambi, basta effettuare la stessa chiamata con un numero diverso da zero per il secondo argomento. Per rendere le modifiche non persistenti dopo un riavvio, rimuovere il flag SPIF_UPDATEINIFILE dall'ultimo argomento.

Per assicurarti di mantenere le scorciatoie da tastiera, non disattivare AeroSnap nel Pannello di controllo o nel registro .

Il diligente può notare che gli argomenti forniti qui non sono quelli che ci si potrebbe aspettare che siano dalla documentazione. In particolare pvParam e uiParams sono commutati. Questo è l'unico modo che ho trovato per far funzionare questa funzione sul mio computer (con Windows 8.1), quindi sospetto un errore nei documenti.


Il risultato dell'esecuzione di questo codice con SPIF_UPDATEINIFILE set: superuser.com/a/1464761/128356 (consente di applicare solo queste modifiche nel registro).
duca Nukem il

2

Ho cercato questo in passato e non credo che ci sia un modo per farlo in Windows stesso. Tuttavia, esiste un'alternativa di terze parti. Per prima cosa, disabilita lo snap aero secondo il link nella tua domanda. Quindi, utilizzando WindowsPad (una speciale configurazione di script AutoHotkey ) è possibile ripristinare lo spostamento delle finestre tra le schermate in un'impostazione multi-monitor, utilizzare lo snap a sinistra / a destra e altro (snap in alto, in basso, al centro e all'angolo). Per impostazione predefinita, WindowsPad utilizza i tasti Win+ NumPad(a causa della funzionalità aggiunta) ma è possibile aggiungere la funzionalità del tasto freccia simile a uno snap-aero aggiungendo quanto segue alla [Hotkeys]sezione del file WindowsPad.ini:

# + Sinistra = WindowScreenMove, Next
# + Destra = WindowScreenMove, Prec
#Left = WPM, -1, 0, 0,5, 1.0
#Destra = WPM, +1, 0, 0,5, 1.0
#Up = MaximizeToggle
#Down = Ripristina

Sfortunatamente, perdi la possibilità di scattare al 50% dello schermo e quindi ripristinarlo nella posizione originale (dal momento che sta effettivamente ridimensionando la finestra, non usando lo snap aerodinamico). Ma finora, questo è l'unico aspetto negativo che ho trovato.


Demo delle funzionalità angolo e fondo scatto di WindowsPad:

Demo di WindowsPad


2

Puoi provare la mia raccolta di strumenti di Windows . I seguenti sono tasti di scelta rapida per spostare Windows:

Win+Array: Move the active window based on other visible windows. This allows for fast window alignment.
Shift+Win+Array: Move the left-up corner of the active window.
Alt+Win+Array: Move the right-bottom corner of the active window.
Ctrl+Win+Array: Dock the active window
Alt+F9: Minimize the active window
Alt+F10: Toggle maximize the active window

Giu 2015

Poiché il codice di Google è stato rimosso, ho spostato il codice su github . La pagina wiki contiene alcune informazioni di aiuto: rwin wiki


2

La seguente modifica del registro di sistema ottiene esattamente ciò che è stato richiesto :

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"DockMoving"="0"
"SnapSizing"="0"

(Puoi salvarlo come file .reg ed eseguirlo. È necessario riavviare o accedere nuovamente.)

In effetti, queste sono le due impostazioni che verrebbero impostate, eseguendo il codice nella risposta di @ gitbox.

Funziona in Windows 7 - 10.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.