Skip to content

v1.0.0 · 双屏窗口互换

Choose a tag to compare

@DC1024 DC1024 released this 06 Oct 18:31
· 7 commits to main since this release

首个正式版本。

它是什么

按一下全局热键(默认 Ctrl+Alt+S),把两块显示器上的所有窗口整体互换,
贴附好的布局原样保留。

亮点

  • 布局真的不乱 —— 只改窗口的矩形位置、不动窗口状态。最大化过去还是最大化,
    左右吸附过去还是贴着边,同尺寸屏下逐像素可逆。
  • 常驻托盘 —— 点 ✕ 或最小化都收进系统托盘,不占任务栏;热键继续有效。
  • 能搬动管理员窗口 —— 内置「以管理员身份重启」;遇到搬不动的窗口会主动提示提权。
  • 分辨率无关 —— 同尺寸纯平移(完全可逆);尺寸不同自动等比缩放并夹进工作区。
  • 零依赖 —— 单文件 exe 自带 Python 运行时;源码只用标准库(ctypes + tkinter)。

下载

SwapMonitors.exe —— 免安装,双击即用,无需安装 Python 或任何依赖。

首次运行可能提示「已保护你的电脑」,这是个人开发者未购买代码签名证书时的正常提示。
点「更多信息」→「仍要运行」即可。程序不联网、不上传任何数据。

环境要求

  • Windows 10 / 11(64 位)

已知限制

  • 仅支持 Windows:实现全部基于 Win32 API。
  • 以管理员身份运行的程序需要提权后才能搬运(Windows 的 UIPI 限制,无法绕过)。
  • 躺在其它虚拟桌面上的窗口会被自动跳过。
  • 部分 UWP 应用由 ApplicationFrameHost 托管,位置由系统管理,可能搬不动。
  • 一次只处理两块屏;三屏以上可用 --monitors 1,3 指定本次要动的两块。

校验值

下载后可以核对一下哈希,确认文件完整、未被篡改:

SHA256   SwapMonitors.exe
9fb469bc7873a17da23a35cddd4ef6a440a47f1b1c530f863aa0a9a4125ff5c0

命令行里核对:

certutil -hashfile SwapMonitors.exe SHA256