題 需要Autohotkey將活動窗口居中


我正在尋找一種使用Autohotkyes將活動窗口置於桌面中心的方法。有人可以給我一個我可以使用的腳本。 謝謝


4
2018-03-21 11:17


起源




答案:


http://www.autohotkey.com/docs/commands/WinMove.htm 這是谷歌上第一個使用短語“autohotkey center window”的結果。它可能會幫助你。請參閱示例腳本。

示例腳本

運行,calc.exe
WinWait,計算器
WinMove,0,0;將WinWait找到的窗口移動到屏幕的左上角。

SplashTextOn,400,300,剪貼板,剪貼板包含:`n%clipboard%
WinMove,剪貼板,0,0;將啟動窗口移動到左上角。
Msgbox,按確定關閉SplashText
SplashTextOff

;以下功能使屏幕上的指定窗口居中:
CenterWindow(WinTitle)
{
    WinGetPos ,,,寬度,高度,%WinTitle%
    WinMove,%WinTitle%,,(A_ScreenWidth / 2) - (寬度/ 2),(A_ScreenHeight / 2) - (高度/ 2)
}

定制

;以下功能使屏幕上的指定窗口居中:
CenterWindow(WinTitle)
{
    WinGetPos ,,,寬度,高度,%WinTitle%
    WinMove,%WinTitle%,,(A_ScreenWidth / 2) - (寬度/ 2),(A_ScreenHeight / 2) - (高度/ 2)
    ; Msgbox,製作記事本中心?
}

運行,file.exe

CenterWindow(“file.exe的標題”)

5
2018-03-21 11:23



不鼓勵鏈接,但可以隨意應用該鏈接中的信息,以便答案在您的答案中。 - soandos
你為什麼要把東西放在剪貼板上? - soandos


為了簡單和適應性,我創建了一個額外的超短腳本,它只需要活動窗口並使其居中,但也可以使用給定的寬度和高度調整它的大小。這可能不是你要求的,除了幾年後。但是,這是關於Windows管理的一件事我期望在FHD以上的分辨率時從操作系統開始。希望其他人需要它。 HF

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

CenterActiveWindow()
{
    windowWidth := A_ScreenWidth * 0.7 ; desired width
    windowHeight := A_ScreenHeight ; desired height
    WinGetTitle, windowName, A
    WinMove, %windowName%, , A_ScreenWidth/2-(windowWidth/2), 0, windowWidth, windowHeight
}

3
2017-12-22 19:27





運用 JohannesMCenterWindow() 函數,此腳本將活動窗口置於熱鍵的中心 RightShift & C。熱鍵 RightShift & B 將居中窗口移回其原始位置,高度和寬度。

要使用該腳本,請複制代碼並將其另存為 .ahk 文件。我使用了文件名 center active window_RShiftC_B.ahk

Autohokey 安裝,雙擊該文件運行腳本 center active window_RShiftC_B.ahk

RShift & c::

global windowName
global X
global Y
global begWidth
global begHeight

WinGetTitle, windowName, A

WinGetPos, X, Y, begWidth, begHeight, %windowName%

CenterWindow(windowTitleVariable)
{
    WinGetPos,,, Width, Height, %windowTitleVariable%
    WinMove, %windowTitleVariable%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2    )-(Height/2)
}

CenterWindow(windowName)

return


RShift & b::

WinMove, %windowName%,, X, Y, begWidth, begHeight

return  

2
2018-06-06 21:16





這些答案使用標題匹配,可以應用於幾個窗口。當您按下win + c時,這將僅以活動窗口為中心。

#c::
WinExist("A")
WinGetPos,,, sizeX, sizeY
WinMove, (A_ScreenWidth/2)-(sizeX/2), (A_ScreenHeight/2)-(sizeY/2)
return

2
2017-11-12 19:21