Chỉ là một cái gì đó nhỏ mà tôi đã thực hiện cho mục đích của mình sau khi đọc bình luận của voodoomsr. Làm cho nó đi lên góc trái và thay đổi kích thước đến độ phân giải đầy đủ của tôi. Phục hồi như trước đây. Không thể được sử dụng với nhiều ứng dụng cùng một lúc.
Cảm ơn voodoomsr
;-Caption
LWIN & LButton::
SetTitleMatchMode, 2
WinGetPos, X, Y, Width, Height, A
WinSet, Style, -0xC00000, A
WinMove,A,,0,0,1920,1080
return
;
;+Caption
LWIN & RButton::
WinSet, Style, +0xC00000, A
WinMove,A,,%X%,%Y%,%Width%,%Height%
Sleep, 1000
Sleep, 1000
return
;
CHỈNH SỬA:
TBH Tôi đã cố gắng tìm thứ gì đó hữu ích cho các cửa sổ không thay đổi kích thước nhưng không thể tìm thấy bất cứ thứ gì (không nói rằng điều đó là không thể, đây thực sự là tập lệnh Autohotkey đầu tiên của tôi).
Dù sao thì tôi cũng đã thực hiện một số điều chỉnh như loại bỏ những giấc ngủ không cần thiết, sử dụng kiểu mà Nelson gợi ý và làm cho nó hoạt động chỉ với một nút để nhấp đúp sẽ không ghi đè lên các biến đã lưu.
#SingleInstance force
; Exclude the desktop
; Note: Also excludes "My Computer" browsing windows.
; Better detection might be needed to differentiate the parent explorer "ahk_id" from child windows.
; Also seems to disregard accidental Metro interface clicks (Win 8+)
#IfWinNotActive ahk_exe explorer.exe
; Set your resolution (minus decorations like start bars if you wish to leave those on-screen.
w = 1920
h = 1080
w_wasted = 6 ; width used by resize bars
h_wasted = 29 ; width used by caption frame and resize bars
; Window to fullscreen
LWIN & LButton::
SetTitleMatchMode, 2
WinGet Style, Style, A
; 0xC40000 = WS_BORDER (0x800000) + WS_DLGFRAME (0x400000) + WS_SIZEBOX aka WS_THICKFRAME (0x040000)
if(Style & 0xC00000) { ; if has WS_CAPTION. Ignore sizebox value.
WinGetPos, X, Y, Width, Height, A
WinSet, Style, -0xC40000, A ; removes attributes, including sizebox...doesn't do a strict subtraction
WinMove,A,,0,0,w,h
} else {
WinSet, Style, +0xC40000, A
; Note: will set WS_SIZEBOX even if not previously present
if(Width > w - w_wasted) {
Width := %w%-%w_wasted%
}
if(Height > h - h_wasted) {
Height := %h%-%h_wasted%
}
WinMove,A,,%X%,%Y%,%Width%,%Height%
}
WinSet Redraw
Return