上下文
这是使用 Windows 10,版本 10.0.16299 Build 16299
问题
我需要的是让窗口保留在后台(可能被其他窗口覆盖),但是当我将鼠标光标移到它上面时,我希望能够在该窗口中键入按键,没有升起窗户。
用例是这样的:我有一个 TigerVNC 窗口,里面嵌入了很多子窗口,我想让它停留在z 顺序:我不希望 MS Windows 自动提升到 z 顺序的顶部,除非/直到我实际用鼠标左键单击该窗口内。
我该怎么做?我听一个朋友说,我可以使用 更改一些 Windows 注册表设置regedit
,但他记不起那是什么了。我们认为它与这里的一个注册表项有关:
我不问的是
不完全等同于在 Windows 10 中,如何才能使窗口处于活动状态而无需单击它?或任何引用的项目其中一条评论。
我想要的是类似,但是不是与此处所示相同:
结合:
它与那些不同,因为启用“通过使用鼠标悬停来激活窗口”将允许窗口被“激活”,从而将其提升到所有其他窗口之上,从而遮挡我想要离开的窗口,因为它们当前在z 顺序。
可能重复
答案1
以前你可以用这种方法,但现在这个注册表值已经消失了。2020 年 3 月它还在那里,我确信这一点,因为当时我这样做了。
步骤#1:打开 regedit,转到 HKEY_CURRENT_USER\Control Panel\Desktop 编辑 UserPreferenceMask 值为 9F 3E 07 80 12 00 00 00 [我的说明:原始值仅在第一对中不同,但不是如下所示,或者可能它们已转换为十进制:9E,或者实际上是 9e(小写)才是它原来的样子。][您只需修改第一对] 注意:默认值为 98 12 07 80 12 00 00 00。
步骤#2:同样在 HKEY_CURRENT_USER\Control Panel\Desktop 中编辑 ActiveWndTrkTimeout,将“Base”更改为 Decimal,并输入 150 作为“Value Data”注意:默认值为 500。
[此值是焦点改变所需的时间(以毫秒为单位)。为了避免任务栏出现一些问题,我建议使用 150 左右的值,但如果您希望在窗口失去焦点之前有不同的延迟时间,请将其设置为您喜欢的任何值。]
步骤#3:注销并重新登录
!信息(由 John Galt 添加)如果您不想自己编辑注册表,可以使用以下注册表项执行此操作。悬停窗口 select.reg
这是用于恢复默认值的注册表项。默认的 Windows hover.reg
这样,当您将鼠标悬停在窗口上时,窗口将处于活动状态(但不会被提升)。[我的注释:他们似乎对选项 2 和选项 3 都这么说。]
好的,我刚刚弄清楚了 UserPreferenceMask 参数的位置,并成功按照上面指定的方式设置了它。它就在它所说的位置,但我今天早些时候第一次尝试时错过了它。它在这里:
打开注册表编辑器:Windows 搜索 regedit,然后运行
注册表编辑器 -> 计算机 -> HKEY_CURRENT_USER -> 控制面板 -> 桌面
然后从那里向下滚动窗口右侧窗格,其中的参数按字母顺序排列。向下滚动您将找到 UserPreferenceMask 参数。双击它进行编辑,或单击一次(左 MB)并选择顶部的“编辑”。将其设置为此值(也在上面指定):9F 3E 07 80 12 00 00 00
并且不要忘记上面的其余步骤,它们是:
步骤#2:同样在 HKEY_CURRENT_USER\Control Panel\Desktop 中编辑 ActiveWndTrkTimeout,将“Base”更改为 Decimal,并输入 150 作为“Value Data”注意:默认值为 500。
[此值是焦点改变所需的时间(以毫秒为单位)。为了避免任务栏出现一些问题,我建议使用 150 左右的值,但如果您希望在窗口失去焦点之前有不同的延迟时间,请将其设置为您喜欢的任何值。]
步骤#3:注销并重新登录