Saya akan menyarankan menggunakan AutoHotkey .
Contoh skrip yang melakukan persis apa yang Anda tanyakan sudah disediakan dalam jawaban untuk pertanyaan lain .
Berikut kode skripnya:
#!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
}
Saya membuat sedikit penyesuaian sehingga bagian bawah jendela tidak masuk di bawah bilah tugas, dan mengubah windowWidth
0,7 menjadi 0,5.
Sunting : sekarang bekerja dengan beberapa monitor, dan menggunakan area kerja untuk nilai atas dan bawah.
Di samping catatan, Revolusi WinSplit telah dihentikan dan digantikan oleh aplikasi berbayar yang disebut MaxTo.
Selain sangat kuat dan mencakup lebih banyak kasus penggunaan, AutoHotkey juga gratis dan open source.