Windows 资源管理器中新窗口相对于前一个窗口的相对位置

Windows 资源管理器中新窗口相对于前一个窗口的相对位置

我不确定它是如何工作的,但在 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 文档:

相关内容