这是对以上来自harrymc的AutoHotkey脚本的一点更新/更改,该脚本是14年8月8日在7:17回答的。非常感谢。我添加了一个异常处理程序,并且不能最大化使用Windows:
#Persistent
#SingleInstance,force
SetTimer, DrawRect, 50
border_thickness = 6
border_color = FF0000
DrawRect:
WinGetPos, x, y, w, h, A
WinGet, OutputVar , MinMax, A
; make maximized windows movable
; -1: The window is minimized (WinRestore can unminimize it).
; 1: The window
; is maximized (WinRestore can unmaximize it).
;0: The window is neither minimized nor maximized.
if(OutputVar == 1){
WinGetPos,x,y,w,h
WinRestore,A
Sleep,500
WinMove,A,,% x + 3, % y + 3, % A_ScreenWidth - 199, % A_ScreenHeight - 199
}
Gui, +Lastfound +AlwaysOnTop +Toolwindow
iw:= w+4
ih:= h + 4
w:=w+ 8
h:=h + 8
x:= x - border_thickness
y:= y - border_thickness
Gui, Color, FF0000
Gui, -Caption
WinSet, Region, 0-0 %w%-0 %w%-%h% 0-%h% 0-0 %border_thickness%-%border_thickness% %iw%-%border_thickness% %iw%-%ih% %border_thickness%-%ih% %border_thickness%-%border_thickness%
try{
Gui, Show, w%w% h%h% x%x% y%y% NoActivate, Table awaiting Action
} catch {
Sleep,2000
}
return
要解释这些变化:当我关闭google chrome中的标签时,通过Control + w分布在4个监视器上,有时我关闭了错误的监视器。昨天在此页面上搜索并找到了解决方案。几分钟后,打开记事本++的“另存为”窗口时出现异常。现在,通过try,catch块拦截了此异常。另外,我还有一个问题,就是在最大化窗口上看不到红色框,因此我在“ if(OutputVar == 1){...”内还原了最大化窗口。