我不确定它是如何工作的,但在 Windows 资源管理器中,通常打开新窗口时,它会相对于前一个窗口自动定位。默认设置似乎是大约向下 20 像素和向右 20 像素。
然后,如果您再次打开一个新窗口,它也会将自身定位在距离前一个窗口 +20/+20 像素的位置。依此类推,无限期地进行。
有办法改变这个设置吗?改变其中任何一个值,使其变为正数或负数等等。
理想情况下,我希望找到一种无需外部应用程序的解决方案。例如注册表破解等。
最后,我想知道三个操作系统的解决方案:Windows 7(我知道已弃用)、Windows 10 和 Windows 11。
答案1
首先是针对 Windows 10。Windows 11(22H2)有一个带有选项卡的全新文件资源管理器。
对于 Windows 10 中的文件资源管理器,请打开文件资源管理器、文件、新窗口。它会按照您在问题中所说的方式打开。将第二个窗口移动到新位置。现在关闭第二个窗口。打开一个新窗口,它会在您关闭它的位置打开。
因此,在一定程度上,你想要的可以实现。我确信重启后效果不会消失。
本质上,这是文件资源管理器和许多 Office/Windows 应用程序的工作方式。
答案2
就注册表黑客而言,没有一个可以执行您请求的配置。尽管注册表用于引用大量静态变量,但除非您的程序已专门配置为引用和存储注册表中的窗口位置...否则它不是默认的 Windows 设置。例如,记事本在注册表中存储了一个定义良好的位置变量。
但是,如果您可以编辑所引用应用程序的编程,那么这就是您正在寻找的解决方案: https://devblogs.microsoft.com/oldnewthing/20210104-00/?p=104656
如果在注册表中找到这样的设置,则可能位于此处或附近:
Computer\HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell
答案3
我将使用免费AutoHotkey V1。
输入热键 Win+后,将执行以下脚本E 。根据需要修改以下变量的值:STARTX、STARTY、DELTAX、DELTAY。
STARTX := 50 ; x offset of first explorer window
STARTY := 100 ; y offset of first explorer window
DELTAX := 100 ; x offset between successive explorer windows (can be negative)
DELTAY := 200 ; y offset between successive explorer windows (can be negative)
lastHWND = 0
lastX := lastY := 0
~#e::
Sleep, 1000 ; wait for one second
hwnd := WinExist("A") ; get active window id (hwnd)
WinGetClass, class, ahk_id %hwnd% ; check that this is indeed explorer
If (class != "CabinetWClass") return
if (hwnd = lastHWND) return ; return if this explorer instance was already done
lastHWND = %hwnd%
WinGet, count, Count , ahk_class CabinetWClass ; find how many explorer instances are running
if (count = 1) {
newX := STARTX ; this is the first explorer
newY := STARTY
} else {
newX := lastX + DELTAX ; this is an additional explorer
newY := lastY + DELTAY
}
WinMove, ahk_id %hwnd%, , %newX%, %newY% ; move explorer window
lastX := newX ; remember used x,y coordinates
lastY := newY
return
安装 AutoHotKey 后,将上述文本放入一个.ahk
文件中并双击进行测试。您可以通过右键单击托盘栏中的绿色 H 图标并选择退出来停止脚本。要让它在登录时运行,请将其放在 的启动组中
C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
。
有用的 AutoHotkey 文档: