scorciatoia da tastiera in Windows 7 per centrare la finestra


18

Trovo che la freccia sinistra-sinistra e la freccia sinistra-destra siano davvero utili in Windows 7 per fare in modo che una finestra occupi rispettivamente il 50% della parte sinistra o destra dello schermo. Tuttavia, c'è qualche comando che farà in modo che una finestra occupi il 50% dello schermo e sia centrata? Anche se non regola le dimensioni della finestra, esiste una scorciatoia da tastiera per rendere la finestra stessa al centro in verticale e in orizzontale? Grazie.

Risposte:


3

Dovresti dare un'occhiata a WinSplit Revolution ; ha quello che ti serve ed è personalizzabile.

testo alternativo


Sembra che con 3 clic del pulsante centrale nella finestra di WinSplit la mia finestra focalizzata si allunghi e riempia l'intera altezza del monitor, il che va bene e sia centrato orizzontalmente. :)
Sarah Vessels,

13

I tasti freccia Windows + sono piuttosto utili qui.

  • (Windows)+ ← (Left) e + → (Right) scorre andando verso il 50% a sinistra o a destra dello schermo e ripristinando le dimensioni e la posizione originali della finestra.
  • + ↑ (Up)massimizza la finestra.
  • + ↓ (Down) ripristina la finestra se è ingrandita e la minimizza altrimenti.

2
Non sembrava farlo per me. Sembra che minimizzi la mia finestra o la ripristini se la finestra è ingrandita.
Sarah Vessels,

2
Sulla mia macchina, doppio monitor, posso fare clic su Win-Left e andrà a sinistra del 50% su quello schermo. Se continuo a fare clic su Win-Left, andrà a destra del 50% sull'altra schermata, il prossimo sarà centrato e infine a sinistra sull'altra schermata. Win-Right fa il contrario
wbeard52

1
Win-Down è chiaramente sbagliato. Ripristina una finestra ingrandita o la minimizza (se è già stata ripristinata). Non farà nulla al centro della finestra.
Joey,

3
@ wbeard52: ho appena provato ripetutamente Win-Left e il ciclo è passato del 50% sul lato sinistro dello schermo, del 50% sul lato destro dello schermo e di come la mia finestra era originariamente (non centrata, piccola).
Sarah Vessels,

2
Premendo ripetutamente Win-Left o Win-Right si passa semplicemente posizionando la finestra a sinistra / a destra del 50% dei monitor disponibili, quindi la riporta nuovamente dove era prima. Non centra la finestra in alcun modo.
dgw

13

Questo non è esattamente per il centraggio, ma consente di spostare facilmente la finestra a sinistra e a destra (e su e giù).

  1. Metti a fuoco una finestra.
  2. Premi Alt+ Space.
  3. Premere M(per "Sposta").
  4. Utilizzare i tasti freccia per spostare la finestra esattamente dove si desidera.
  5. Premere Enteral termine.

1
Questa soluzione non richiede l'installazione di software aggiuntivo. Potrebbe non essere la soluzione esatta, ma penso che sia abbastanza per portare a termine il lavoro
afuzzyllama,

Funziona solo se una finestra non è ingrandita.
TylerH,

@TylerH: questo è vero. Tuttavia, richiede solo di premere windows + destra (per posizionare la finestra nella posizione giusta al 50%), quindi seguire le istruzioni in questa risposta per spostarla a sinistra.
Rasmus Larsen,

5

Suggerirei di utilizzare AutoHotkey .
Uno script di esempio che fa esattamente quello che hai chiesto era già stato fornito in una risposta a un'altra domanda .
Ecco il codice dello script:

#!Up::CenterActiveWindow() ; if win+alt+↑ is pressed

CenterActiveWindow()
{
    ; Get the window handle from de active window.
    winHandle := WinExist("A")

    VarSetCapacity(monitorInfo, 40)
    NumPut(40, monitorInfo)

    ; Get the current monitor from the active window handle.
    monitorHandle := DllCall("MonitorFromWindow", "uint", winHandle, "uint", 0x2)
    DllCall("GetMonitorInfo", "uint", monitorHandle, "uint", &monitorInfo) 

    ; Get WorkArea bounding coordinates of the current monitor.
    A_Left   := NumGet(monitorInfo, 20, "Int")
    A_Top    := NumGet(monitorInfo, 24, "Int")
    A_Right  := NumGet(monitorInfo, 28, "Int")
    A_Bottom := NumGet(monitorInfo, 32, "Int")

    ; Calculate window coordinates.
    winW := (A_Right - A_Left) * 0.5 ; Change the factor here to your desired width.
    winH := A_Bottom
    winX := A_Left + (winW / 2)
    winY := A_Top

    WinMove, A,, winX, winY, winW, winH
}

Ho apportato una leggera regolazione in modo che la parte inferiore della finestra non vada sotto la barra delle applicazioni e ho modificato windowWidthda 0,7 a 0,5.

modificare : ora funziona con più monitor e utilizza l'area di lavoro per i valori superiore e inferiore.

Per contro, WinSplit Revolution è stato sospeso e sostituito da un'app a pagamento chiamata MaxTo.
Oltre ad essere molto potente e che copre molti più casi d'uso, AutoHotkey è anche gratuito e open source.


1
Quasi fantastico ... Tranne che per il problema serio. Con più monitor estesi, questo sposta sempre una finestra da un monitor secondario a quello principale. Qualche idea su come risolvere questo problema? WinMove non sembra avere parametri aggiuntivi.
DKroot,

@DKroot Dovrò provare con una seconda schermata. L'ho usato solo su una singola ultrawide. Ecco cosa dice il documento su WinMove: «I valori negativi sono consentiti per le coordinate xey per supportare sistemi multi-monitor e per consentire a una finestra di essere spostata completamente dallo schermo.» Ci sono esempi di script multi-monitor sul forum, ma diventa più complicato: autohotkey.com/board/topic/…
vctls il

Grazie mille per il link! Sono stato in grado di combinare la tua sceneggiatura e la sceneggiatura collegata in una che funzionava perfettamente. (Lo script collegato non si ridimensiona quindi non funziona ad es. Su finestre ingrandite). Lo script è troppo lungo per essere incluso nei commenti. Ti dispiace pubblicarlo come risposta separata?
DKroot,

Un'altra nota di prova sul tuo script: è interessante notare che in una configurazione con 3 monitor, ad esempio n. 1 principale, n. 2 e n. 3 funziona perfettamente su n. 1 e n. 3, ma sposta le finestre dal n. 2 al n. 1.
DKroot,

1
Eh, è strano. L'ho aggiornato per farlo funzionare su più monitor. Ho cercato di mantenerlo il più breve e possibile sull'argomento, ma potresti voler scegliere la Deluxe Edition come quelle del forum;)
vctls

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.