Câu hỏi Cần Autohotkey để trung tâm cửa sổ đang hoạt động


Tôi đang tìm một cách để căn giữa cửa sổ đang hoạt động trên màn hình bằng cách sử dụng Autohotkyes. Ai đó có thể cho tôi một kịch bản mà tôi có thể sử dụng được không. Cảm ơn


4
2018-03-21 11:17


gốc




Các câu trả lời:


http://www.autohotkey.com/docs/commands/WinMove.htm là kết quả đầu tiên trên google với cụm từ "cửa sổ trung tâm autohotkey". Nó có thể giúp bạn ra ngoài. Xem tập lệnh mẫu.

Tập lệnh mẫu

Chạy, calc.exe
WinWait, Máy tính
WinMove, 0, 0; Di chuyển cửa sổ được tìm thấy bởi WinWait đến góc trên bên trái của màn hình.

SplashTextOn, 400, 300, Clipboard, Clipboard chứa: `n% clipboard%
WinMove, Clipboard,, 0, 0; Di chuyển cửa sổ giật gân đến góc trên cùng bên trái.
Msgbox, Nhấn OK để loại bỏ SplashText
SplashTextOff

; Hàm sau căn giữa cửa sổ được chỉ định trên màn hình:
CenterWindow (WinTitle)
{
    WinGetPos ,,, Chiều rộng, Chiều cao,% WinTitle%
    WinMove,% WinTitle% ,, (A_ScreenWidth / 2) - (Chiều rộng / 2), (A_ScreenHeight / 2) - (Chiều cao / 2)
}

Tùy chỉnh

; Hàm sau căn giữa cửa sổ được chỉ định trên màn hình:
CenterWindow (WinTitle)
{
    WinGetPos ,,, Chiều rộng, Chiều cao,% WinTitle%
    WinMove,% WinTitle% ,, (A_ScreenWidth / 2) - (Chiều rộng / 2), (A_ScreenHeight / 2) - (Chiều cao / 2)
    Msgbox, Tạo Trung tâm Notepad?
}

Chạy, file.exe

CenterWindow ("tiêu đề của file.exe")

5
2018-03-21 11:23



các câu trả lời chỉ có liên kết không được khuyến khích, nhưng vui lòng áp dụng thông tin có trong liên kết đó để câu trả lời nằm trong câu trả lời của bạn. - soandos
Tại sao bạn sẽ đặt một cái gì đó vào clipboard? - soandos


Để đơn giản và thích ứng, tôi tạo ra một tập lệnh siêu ngắn bổ sung, chỉ lấy cửa sổ đang hoạt động và căn giữa nó nhưng cũng thay đổi kích thước của nó với chiều rộng và chiều cao đã cho. Đây có thể không phải là những gì bạn chính xác yêu cầu, ngoài việc bị trễ vài năm. Tuy nhiên, đây là một điều về quản lý cửa sổ tôi mong đợi từ hệ điều hành trong thời gian của các nghị quyết trên FHD. Hy vọng rằng người khác có nhu cầu của nó. 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





Sử dụng JohannesM'S CenterWindow() chức năng, tập lệnh này tập trung vào cửa sổ đang hoạt động trên phím nóng RightShift & C. Phím nóng RightShift & B di chuyển cửa sổ căn giữa trở lại vị trí ban đầu, chiều cao và chiều rộng của nó.

Để sử dụng tập lệnh, hãy sao chép mã và lưu mã đó dưới dạng .ahk tập tin. Tôi đã sử dụng tên tệp center active window_RShiftC_B.ahk

Với Autohokey đã cài đặt, chạy tập lệnh bằng cách nhấp đúp vào tệp 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





Những câu trả lời này sử dụng kết hợp tiêu đề, có thể áp dụng cho một số cửa sổ. Điều này sẽ chỉ tập trung vào cửa sổ đang hoạt động, khi bạn nhấn 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