Просто кое-что маленькое, что я сделал для своих целей после прочтения комментария voodoomsr. Заставляет его идти в левом углу и изменяет размеры до моего полного разрешения. Восстанавливает как было раньше. Не может использоваться с несколькими приложениями одновременно.
Спасибо 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
;
РЕДАКТИРОВАТЬ:
TBH Я пытался найти что-то полезное для окон, которое не изменяет размер, но ничего не может найти (не говоря о том, что это невозможно, это был фактически мой первый скрипт AutoHotkey).
Ну, во всяком случае, я сделал несколько твиков, таких как удаление ненужных снов, использование стиля, предложенного Нельсоном, и заставить его работать только с одной кнопкой, чтобы двойной щелчок не отменял сохраненные переменные.
#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