如何使Windows 7中的鼠标行为与Windows XP相同


20

在使用TweakUI的Windows XP中,我可以启用一个选项,以便当鼠标悬停在非活动窗口上时,它将使该窗口成为活动窗口。还有另一个单独的选项,以便如果该窗口变为活动状态,它将自动成为最顶层的窗口。

我喜欢启用前者,但不启用后者。

对于Windows 7,我无法找到相同的东西。相反,我发现Windows内有一个类似功能的选项。如果将鼠标移到不活动的窗口上,则必须将鼠标悬停在它上方一段时间才能激活。它不是瞬时的。第二个问题是,一旦它变为活动状态,它将自动使自己成为最顶层的窗口,覆盖我不想覆盖的其他内容。

总之,这是我在Windows 7中想要的:

  1. 当我的鼠标经过一个不活动的窗口时,它立即使其成为活动窗口。

  2. 当它激活窗口时,它不会将其提升到其他窗口之上。

Answers:


12

感谢Phoshi的回答。由于我偶然发现了Google搜索中的此链接,因此我将填写此处缺少的一些信息,并为此提供完整的分步指南:

要从Vanilla Windows 7安装程序运行X鼠标,请执行以下操作:

  1. 打开控制面板
  2. 选择“轻松访问”
  3. 选择“更改鼠标的工作方式”
  4. 勾选“通过用鼠标悬停激活窗口”旁边的框,然后单击“确定”。
  5. 打开注册表
  6. 定位HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferenceMask-仅更改第一个字节,您需要从那里的值减去十六进制数40(例如DF变为9F)-这会禁用激活时自动提高
  7. 查找HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWndTrkTimeout-将其值更改为较小的值。较低的值将使使用浮动临时窗口(例如任务栏通知区域窗口小部件)变得更加困难,因为它们会随着您移到其他临时对象而消失,而其他一些焦点会消失,但是较低的值也会提高响应速度。您可以从250ms开始,然后从那里进行调整。
  8. 注销,重新登录,等等,...

问题中提到了步骤1-4,但没有列举。

第5到8步正是Phoshi所说的。


11

代替手工注册的黑客,尝试使用系统调用SystemParametersInfo,尤其是SPI_GETACTIVEWINDOWTRACKINGSPI_GETACTIVEWNDTRKZORDERSPI_GETACTIVEWNDTRKTIMEOUT。使用这些呼叫还可以使您不必注销/登录即可应用设置。我建议使用实现它们的X-Mouse控件

X-Mouse Controls:启用或禁用活动窗口跟踪,升高以及延迟(以毫秒为单位)的工具。这称为x鼠标行为。

您只需运行一次,它很小巧,开源,并且会为您处理所有细节。

X鼠标控件的屏幕截图


2
谢谢!一个极简主义的GUI前端,其中[1]允许更改而无需注销/登录,[2]不会让我在注册表中进行十六进制转换,并且[3]传播更改以简化访问中心这样看来它正在“正确”地执行操作。
克莱顿·史丹利

3

那好
打开regedit,让我们开始工作。

更改

HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferenceMask

进入 9F 3E 07 80 12 00 00 00

然后改变

HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWndTrkTimeout

设置为0(您可能必须将数据类型切换为十进制)。

然后注销,登录,并(希望)享受您的窗口切换!


可以,但是无法访问任务栏中的隐藏图标。我单击箭头以展开列表,然后当我尝试将鼠标移至该框时,​​它会在到达前消失。
飞鸿

没关系,我可以单击箭头来访问它,然后按Tab键将其激活。
飞鸿

我猜有点讨厌,但可行。您可以更多使用alt-tab吗?
Phoshi

2

这个AutoHotkey脚本可以做到这一点。检查第一行,有一些参数可以更改脚本的行为:

hover_task_buttons  = 1 ; hover over taskbar button to activate window
  hover_task_group  = 1 ; hover to select (or exit) from a window-group menu
                        ; (for Windows' "Group similar taskbar buttons" feature)
hover_task_min_info = 0 ; only show info for minimized windows, don't activate
hover_start_button  = 1 ; hover over start button to open start menu
hover_min_max       = 1 ; minimize or maximize by hovering over the min/max buttons
hover_any_window    = 0 ; activate any window by hovering (except the taskbar)

hover_no_buttons    = 1 ; ignore hover if a mouse button is in the down state

hover_delay       = 500 ; hover delay, from when the mouse stops moving

; WORKS, BUT NOT PERFECTLY: (brings the window forward, then puts it back in place)
hover_keep_zorder   = 0 ; don't bring windows forward, only activate them

您将对上面列出的最后一个hover_keep_zorder感兴趣,但需要注意的是它不能完美运行(尽管对我来说很好)。

别忘了也将hover_any_window设置为1。


投票超时变得愚蠢!我不小心再次点击了^,取消了之前的投票,现在不再允许我再次投票!
Phoshi

找到一个琐碎的要点很困难,请精心
整理

可以,但是无法访问任务栏中的隐藏图标。我单击箭头以展开列表,然后当我尝试将鼠标移至该框时,​​它会在到达前消失。
飞鸿

糟糕,以上评论适用于具有reg hack的人。我试过了,它什么也没做。
飞鸿

完美的解决方案!
2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.