街霸吧 关注:71,146贴子:1,349,796
  • 1回复贴,共1

分享个缩放游戏窗口的工具

取消只看楼主收藏回复

效果如下


IP属地:江西1楼2024-03-12 17:27回复
    用Autohotkey的写的代码
    链接:https://pan.baidu.com/s/1aGUdq7NjPEKpx79AUEfvig?pwd=6666
    提取码:6666
    使用方法,先启动游戏,再打开调节工具
    F10将使窗口缩小5%,F11将使窗口增大5%,Ctrl+F10将使窗口缩小1%,Ctrl+F11将使窗口增大1%,Ctrl+↑↓←→将使窗口分别向上、下、左、右移动1%的分辨率距离。
    在街霸窗口激活时候,按F12保存当前分辨率到配置文件。
    下面是源代码,怕exe文件有问题可以自己去生成exe
    #SingleInstance force
    ; 初始化配置文件路径
    configFile := "windowConfig.ini"
    ; 启动时检查配置文件并恢复窗口位置和大小
    if (FileExist(configFile)) {
    IniRead, WinTitle, %configFile%, Window, Title
    ; 使用WinTitle匹配窗口标题
    if WinExist(WinTitle) {
    WinGetClass, WinClass, %WinTitle%
    IniRead, WinX, %configFile%, Window, X
    IniRead, WinY, %configFile%, Window, Y
    IniRead, WinWidth, %configFile%, Window, Width
    IniRead, WinHeight, %configFile%, Window, Height
    WinMove, %WinTitle%,, %WinX%, %WinY%, %WinWidth%, %WinHeight%
    }
    }
    ; 保存当前窗口位置、大小和标题到配置文件
    F12::
    WinGetTitle, WinTitle, A
    WinGetPos, WinX, WinY, WinWidth, WinHeight, A
    IniWrite, %WinTitle%, %configFile%, Window, Title
    IniWrite, %WinX%, %configFile%, Window, X
    IniWrite, %WinY%, %configFile%, Window, Y
    IniWrite, %WinWidth%, %configFile%, Window, Width
    IniWrite, %WinHeight%, %configFile%, Window, Height
    return
    ; 以下是您提供的代码,已经包含在脚本中
    F10::
    ; 获取当前激活窗口的位置和大小
    WinGetPos, WinX, WinY, WinWidth, WinHeight, A
    ; 缩小分辨率 5%
    NewWidth := WinWidth * 0.95
    NewHeight := WinHeight * 0.95
    WinMove, A,, WinX, WinY, NewWidth, NewHeight
    ; 计算新的 X 轴和 Y 轴位置,使窗口居中
    NewX := (A_ScreenWidth - NewWidth) // 2
    NewY := (A_ScreenHeight - NewHeight) // 2
    WinMove, A,, %NewX%, %NewY%
    return
    ^F10::
    ; 获取当前激活窗口的位置和大小
    WinGetPos, WinX, WinY, WinWidth, WinHeight, A
    ; 缩小分辨率 1%
    NewWidth := WinWidth * 0.99
    NewHeight := WinHeight * 0.99
    WinMove, A,, WinX, WinY, NewWidth, NewHeight
    ; 计算新的 X 轴和 Y 轴位置,使窗口居中
    NewX := (A_ScreenWidth - NewWidth) // 2
    NewY := (A_ScreenHeight - NewHeight) // 2
    WinMove, A,, %NewX%, %NewY%
    return
    F11::
    ; 获取当前激活窗口的位置和大小
    WinGetPos, WinX, WinY, WinWidth, WinHeight, A
    ; 增大分辨率 5%
    NewWidth := WinWidth * 1.05
    NewHeight := WinHeight * 1.05
    WinMove, A,, WinX, WinY, NewWidth, NewHeight
    ; 计算新的 X 轴和 Y 轴位置,使窗口居中
    NewX := (A_ScreenWidth - NewWidth) // 2
    NewY := (A_ScreenHeight - NewHeight) // 2
    WinMove, A,, %NewX%, %NewY%
    return
    ^F11::
    ; 获取当前激活窗口的位置和大小
    WinGetPos, WinX, WinY, WinWidth, WinHeight, A
    ; 增大分辨率 1%
    NewWidth := WinWidth * 1.01
    NewHeight := WinHeight * 1.01
    WinMove, A,, WinX, WinY, NewWidth, NewHeight
    ; 计算新的 X 轴和 Y 轴位置,使窗口居中
    NewX := (A_ScreenWidth - NewWidth) // 2
    NewY := (A_ScreenHeight - NewHeight) // 2
    WinMove, A,, %NewX%, %NewY%
    return
    ^Up::
    ; 获取当前激活窗口的位置和大小
    WinGetPos, WinX, WinY, WinWidth, WinHeight, A
    ; 计算新的 Y 轴位置,使窗口向上移动 1%
    NewY := WinY - A_ScreenHeight * 0.01
    WinMove, A,, WinX, %NewY%
    return
    ^Down::
    ; 获取当前激活窗口的位置和大小
    WinGetPos, WinX, WinY, WinWidth, WinHeight, A
    ; 计算新的 Y 轴位置,使窗口向下移动 1%
    NewY := WinY + A_ScreenHeight * 0.01
    WinMove, A,, WinX, %NewY%
    return
    ^Left::
    ; 获取当前激活窗口的位置和大小
    WinGetPos, WinX, WinY, WinWidth, WinHeight, A
    ; 计算新的 X 轴位置,使窗口向左移动 1%
    NewX := WinX - A_ScreenWidth * 0.01
    WinMove, A,, %NewX%, WinY
    return
    ^Right::
    ; 获取当前激活窗口的位置和大小
    WinGetPos, WinX, WinY, WinWidth, WinHeight, A
    ; 计算新的 X 轴位置,使窗口向右移动 1%
    NewX := WinX + A_ScreenWidth * 0.01
    WinMove, A,, %NewX%, WinY
    return


    IP属地:江西4楼2024-03-13 13:35
    回复