玩的一个街机游戏是 1080*1920 的分辨率,我的 1080p 显示器横屏状态下无法完全显示。实际游玩的时候只需要看画面的中间部分就好,如果有办法把窗口往上移动就能正常游玩了。
目前使用一个叫 shiftwindow 的软件可以调整窗口的尺寸和位置。但它会造成显卡的性能损失,而且我怀疑即使显卡性能足够它也会引起掉帧,玩的是音游所以帧数还是很重要的。就想知道有没有其他办法能在不损失性能的前提下移动窗口?
infinite screen v1.72
了解一下,非常轻松搞定
AltDrag
我用mouseINC, 本身就支持移动窗口.
如果你不想安装这个, 试试 AHK
;==================================================
;** 按住 LWin+鼠标左键 可以轻易移动窗口
;==================================================
#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
AltDrag可以让你按住alt键(可自定义)时,在窗口任意位置(而非标题栏)按住鼠标左键移动整个窗口。
所以你以窗口下半部分作为“锚点”向上拖,将窗口上半部分移到屏幕外面轻而易举!而正常情况下按住标题栏是无法将上半部分移到屏幕外的。
此外AltDrag其他功能也是非常有用,本人每天在用,具体参考下下面这个贴子吧。
在某些情况下,通过 AltDrag 改变窗口大小后,鼠标能触及的范围不会相应改变