街霸吧 关注:59,457贴子:958,497
  • 5回复贴,共1

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

只看楼主收藏回复

效果如下


IP属地:江西1楼2024-03-12 17:27回复
    什么工具 缩小后能保持原来的分辨率吗


    IP属地:广东来自Android客户端2楼2024-03-13 11:17
    收起回复
      用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
      回复