不知道大家有没有用过 Linux 桌面,一般都有个功能是按住 alt 键,然后用鼠标的左键随便按住窗口的任何位置就能够拖动窗口。如果是按住右键,又可以改变窗口的大小。非常的好用。
不知道在 win 底下有没有这样的软件?或者有没有办法实现这个功能?
不知道大家有没有用过 Linux 桌面,一般都有个功能是按住 alt 键,然后用鼠标的左键随便按住窗口的任何位置就能够拖动窗口。如果是按住右键,又可以改变窗口的大小。非常的好用。
不知道在 win 底下有没有这样的软件?或者有没有办法实现这个功能?
;==================================================
;** 按住 ALT+鼠标左键 可以轻易移动窗口
;==================================================
!LButton::
CoordMode, Mouse ; Switch to screen/absolute coordinates.
MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin%
if EWD_WinState = 0 ; Only if the window isn't maximized
SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it.
return
EWD_WatchMouse:
GetKeyState, EWD_LButtonState, LButton, P
if EWD_LButtonState = U ; Button has been released, so drag is complete.
{
SetTimer, EWD_WatchMouse, off
return
}
GetKeyState, EWD_EscapeState, Escape, P
if EWD_EscapeState = D ; Escape has been pressed, so drag is cancelled.
{
SetTimer, EWD_WatchMouse, off
WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%
return
}
; Otherwise, reposition the window to match the change in mouse coordinates
; caused by the user having dragged the mouse:
CoordMode, Mouse
MouseGetPos, EWD_MouseX, EWD_MouseY
WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
SetWinDelay, -1 ; Makes the below move faster/smoother.
WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
EWD_MouseStartX := EWD_MouseX ; Update for the next timer-call to this subroutine.
EWD_MouseStartY := EWD_MouseY
return
AltSnap,AltDrag 的延续,推荐里也有人发过了。
它功能很多,但我用到的基本就两个:
Alt + 鼠标左键 任意位置拖动
Alt + 鼠标右键 任意调整窗口大小
其它诸如窗口置顶、透明度和调节音量啥的很少用。
不知道楼主是否使用 Quicker 这款软件,里面有一个动作: 调节窗口 - 动作 - Quicker
可以实现:
以上的 [Key] 可以随意自定义(键盘按键、鼠标键均可)