在 Windows XP 中,使用 TweakUI,我可以启用一个选项,这样当我的鼠标移到非活动窗口上时,它会使该窗口变为活动窗口。还有另一个单独的选项,这样如果窗口变为活动窗口,它会自动变为最顶层窗口。
我喜欢启用前者,但不喜欢启用后者。
对于 Windows 7,我找不到同样的东西。相反,我发现 Windows 内部有一个选项可以做类似的事情。如果我将鼠标移到非活动窗口上,我必须在上面悬停一段时间,它才会变为活动窗口。这不是瞬间发生的。第二个问题是,一旦它变为活动窗口,它就会自动使自己成为最顶层的窗口,覆盖我不想覆盖的其他内容。
总而言之,这就是我想要的 Windows 7:
当我的鼠标移到非活动窗口上时,它会立即使其成为活动窗口。
当它激活窗口时,它不会将其置于其他窗口之上。
答案1
感谢 Phoshi 的回答。由于我是在谷歌搜索中偶然发现此链接的,因此我将补充一些此处缺失的信息,并提供完整的分步指南:
要使 X-mouse 在 Vanilla Windows 7 安装中运行:
- 打开控制面板
- 选择“轻松访问”
- 选择“更改鼠标的工作方式”
- 勾选“通过鼠标悬停在窗口上来激活窗口”旁边的框,然后点击“确定”。
- 打开注册表
- 定位
HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferenceMask
- 仅更改第一个字节,您需要从存在的值中减去十六进制 40(例如DF
变为9F
) - 这将禁用激活时的自动提升 - 定位
HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWndTrkTimeout
- 将其值改为较小的值。较低的值会使使用浮动临时窗口(例如任务栏通知区域小部件)变得更加困难,因为当您移动到它们时,它们会消失,或者其他东西会获得焦点,但较低的值也会提高响应能力。您可以从 250 毫秒开始,然后从那里进行调整。 - 注销,重新登录,然后瞧......
问题中顺便提到了步骤 1-4,但没有列举。
步骤 5-8 正是福西说。
答案2
无需手动注册黑客,尝试使用来自系统参数信息, 尤其SPI_GETACTIVEWINDOWTRACKING
,SPI_GETACTIVEWNDTRKZORDER
,SPI_GETACTIVEWNDTRKTIMEOUT
使用这些调用还可以节省您注销/登录以应用设置的时间。我创建了X-鼠标控制,并实现它们。
X-鼠标控制:Microsoft Windows 实用程序来管理主动窗口跟踪/提升设置。这称为x 鼠标行为或者焦点跟随鼠标在 Unix 和 Linux 系统上。
您只需运行一次,它很小、开源并且会为您处理细节。
(来源: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。