AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1880081
Accepted
bortao
bortao
Asked: 2025-02-17 11:10:05 +0800 CST2025-02-17 11:10:05 +0800 CST 2025-02-17 11:10:05 +0800 CST

在 Windows 24h2 上将窗口置于桌面上方

  • 772

我喜欢将 Chrome 放置在桌面稍上方的位置(或屏幕顶部以外),这样当鼠标位于屏幕边缘时,您可以单击选项卡,只需将鼠标移到顶部即可更轻松地访问它们(同样的原则也促使 Jef Raskin 将 Mac OS 菜单放置在屏幕顶部,至今仍是如此)

但是现在我更新到 Windows 11 24H2 后,任何位于边缘上方的窗口都会回到限制位置。

我刚刚重新检查了“多任务”设置中的“捕捉窗口”是否已关闭。

任何有关如何关闭此行为的信息都将受到赞赏。

windows-11
  • 4 4 个回答
  • 216 Views

4 个回答

  • Voted
  1. Best Answer
    bortao
    2025-03-09T22:37:35+08:002025-03-09T22:37:35+08:00

    使用以下 AutoHotkey 脚本,我每 1 秒检查一次所有 chrome.exe 窗口是否位于 top = 0 且未最大化,然后将 top 更改为 -8。

    SetTimer, CheckChromeWindows, 1000 ; Run every 1 seconds
    
    CheckChromeWindows:
        WinGet, id, List, ahk_exe chrome.exe ; Get a list of Chrome windows
    
        Loop, %id%
        {
            this_ID := id%A_Index%
            WinGet, WinState, MinMax, ahk_id %this_ID% ; get if window is maximized
            If WinState = 1 ; check if maximized.
            {
                continue ; skip to the next window.
            }
            WinGetPos, X, Y, Width, Height, ahk_id %this_ID%
            If (Y = 0) ; Check if top is 0 
            {
                WinMove, ahk_id %this_ID%, , X, -8 ; Move the window to top -8
            }
        }
    return
    
    • 2
  2. Ali Khakbaz
    2025-03-11T15:13:56+08:002025-03-11T15:13:56+08:00

    由于您想要访问屏幕顶部边缘的选项卡,您可以考虑执行以下步骤:

    1. 在“多任务”设置中保持“捕捉窗口”关闭。
    2. 打开 Chrome。
    3. 转至chrome://flags/
    4. 搜索Windows 11 Mica titlebar并禁用它。
    5. 重新启动 Chrome。

    这可能会消除不必要的填充并使标签更靠近屏幕边缘。

    另外,您可以尝试通过 Chrome 自己的配置文件手动调整其窗口位置:

    1. 完全关闭 Chrome。
    2. 导航至:
    C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default
    
    1. Preferences在文本编辑器中查找并打开文件。
    2. 搜索:
    "window_placement": {
        "top": 0,
        "left": 0,
    
    1. 修改"top"为负值(例如-30)。
    2. 保存文件并再次启动 Chrome。

    如果需要替换Snap windows,您可以选择安装aquasnap。

    • 2
  3. GeneMoody-Action1
    2025-03-12T00:59:18+08:002025-03-12T00:59:18+08:00

    虽然使用 Auto IT/HotKey 没有任何问题,但我喜欢这两者并在适当的地方使用它们。

    无需使用第三方工具,使用 powershell 即可完成此操作。我刚刚在某人从 '11 或类似版本中挖出的另一篇类似帖子中使用了这个示例。

    Add-Type @"
    using System;
    using System.Runtime.InteropServices;
    public class WinAPI {
        [DllImport("user32.dll", SetLastError = true)]
        public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
    }
    "@
    
    do {
        # Get the handle of the target window, noptepad in this case.
        $process = Get-Process -Name "chrome" -ErrorAction SilentlyContinue
        if ($process) {
            $process | % {
                $hwnd = $_.MainWindowHandle
                if ($hwnd -ne [IntPtr]::Zero) {
                    # Resize and move the window (X=100, Y=100, Width=800, Height=600)
                    [WinAPI]::SetWindowPos($hwnd, [IntPtr]::Zero, 0, -200, 800, 600, 0)
                }
                else {
                    Write-Host "Window not found."
                }
            }
        }
        else {
            Write-Host "Process not found."
        } 
        Start-Sleep -Milliseconds 500 
    }while ($true) 
    

    编辑:由于我测试并发现 chrome 的许多进程中只有一个具有句柄,因此我对其进行了修改以解决这个问题,并添加了循环使其永久存在。对 chrome 窗口位置的任何调整都会立即恢复到指定位置。

    因此,您可以创建一个脚本来执行此操作,或者移动其他窗口,并根据需要同时更改其硬件。本质上,它使所有内容都保持在正确的位置。如果它被无意中移动或调整大小,则将其移回。只需重复获取进程的句柄,并移动与其关联的窗口即可获得任何和所有进程名称。

    这与 AutoHotkey 的底层实现方式 (pInvoke win32 API) 相同,因此效率相同、第三方更少、完全控制。在这种情况下,它将 API 拉入动态 C# 类,以便在 powershell 中直接使用。

    • 1
  4. Rapteon
    2025-02-21T16:49:50+08:002025-02-21T16:49:50+08:00

    我尝试使用PowerToys创建您指定的自定义布局,但似乎只能在水平方向上定位屏幕之外的窗口。

    您可以检查是否可以为显示器设置自定义分辨率,以便显示输出大于显示器尺寸。这称为过扫描。看看您是否可以通过反向执行本文中的步骤来手动创建一些过扫描。

    您还可以查看此答案以了解如何创建自定义分辨率。

    • -1

相关问题

  • 在 Windows 11 上的 Windows 终端中加载用户设置时遇到错误

  • 基于 USB 的外部 TPM?

  • 为什么我的硬件不支持 Windows 11?

  • 如果我在正在运行/已安装的 Windows 操作系统上启用 TPM,会发生什么情况?

  • M1 Macbook Pro 可以运行 Windows 11 的 ARM 版本并编译 Visual Studio .Net 4+ 项目吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve