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

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

在 Windows XP 中,使用 TweakUI,我可以启用一个选项,这样当我的鼠标移到非活动窗口上时,它会使该窗口变为活动窗口。还有另一个单独的选项,这样如果窗口变为活动窗口,它会自动变为最顶层窗口。

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

对于 Windows 7,我找不到同样的东西。相反,我发现 Windows 内部有一个选项可以做类似的事情。如果我将鼠标移到非活动窗口上,我必须在上面悬停一段时间,它才会变为活动窗口。这不是瞬间发生的。第二个问题是,一旦它变为活动窗口,它就会自动使自己成为最顶层的窗口,覆盖我不想覆盖的其他内容。

总而言之,这就是我想要的 Windows 7:

  1. 当我的鼠标移到非活动窗口上时,它会立即使其成为活动窗口。

  2. 当它激活窗口时,它不会将其置于其他窗口之上。

答案1

感谢 Phoshi 的回答。由于我是在谷歌搜索中偶然发现此链接的,因此我将补充一些此处缺失的信息,并提供完整的分步指南:

要使 X-mouse 在 Vanilla Windows 7 安装中运行:

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

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

步骤 5-8 正是福西说。

答案2

无需手动注册黑客,尝试使用来自系统参数信息, 尤其SPI_GETACTIVEWINDOWTRACKINGSPI_GETACTIVEWNDTRKZORDERSPI_GETACTIVEWNDTRKTIMEOUT使用这些调用还可以节省您注销/登录以应用设置的时间。我创建了X-鼠标控制,并实现它们。

X-鼠标控制:Microsoft Windows 实用程序来管理主动窗口跟踪/提升设置。这称为x 鼠标行为或者焦点跟随鼠标在 Unix 和 Linux 系统上。

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

在 Windows 10 上运行的 X-Mouse Controls 主窗口的屏幕截图
(来源:joelpurra.com

答案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(您可能必须将数据类型切换为十进制)。

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

答案4

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,但需要注意的是,它不能完美地工作(但对我来说它工作得很好)。

不要忘记设置悬停在任何窗口至 1。

相关内容