看来Microsoft尝试解决此问题。多显示器和屏幕的各个角落。

在Windows 7中,显示器之间没有边界,鼠标可以在两个显示器之间自由移动。我的3台显示器,只要在显示设置中将它们的高度设置为相等。 Windows 8引入了粘滞角。请参阅此问题。

Windows 10也遇到了麻烦。每个显示器的顶角有几个像素,鼠标无法跨过另一个显示器。必须向下移动光标才能避开该区域,以便进入下一个显示。

该图像大致显示了Windows 10中不允许鼠标移动的区域,而Windows 7中却允许移动鼠标。



就个人而言,我在屏幕上方无限制地移动鼠标没有问题-我习惯于“瞄准” x,并提供了无限制的便利光标移动。像所有想在W8中禁用它的人一样,我想知道是否有一种方法可以在W10中禁用它。

编辑以解决可能的重复项:

该问题与该问题中的问题相同,因此解决W8中涉及编辑注册表项MouseCornerClipLength的问题的解决方案在W10中不起作用,因为该注册表项不在W10中。同样添加该键并设置该值不起作用。我搜索了整个注册表,但在另一个位置找不到它。 W8解决方案中引用的节点中没有其他W10密钥可以明显替换。

编辑以解决注释中的可能解决方案

harrymc的建议1和建议2适用于Windows 8.1在Windows 10中不起作用。

评论

这不仅与关闭窗口按钮有关,还与其他有关。例如,将窗口从一个显示移动到下一个显示。您曾经能够将显示直接跨过显示顶部拖动到另一个显示中。现在,您必须在拖动时将其向下移动,然后再向上移动。昨晚安装W10之后,我整夜崩溃。我不敢相信更多的人没有抱怨:)

因此,我不确定为什么要添加它作为评论而不是答案。感谢您提供信息。

@harrymc尽管长期参与测试,但仍很广泛

我只是想在我意外关闭应用程序时哭泣,以为Microsoft的某个程序员花了一些时间来实现这个愚蠢的功能,并且当人们想将所有精力集中在某个事情上时,我并没有想到人们会一秒钟点击X按钮。在另一个屏幕上的一个窗口。设计书籍将在以后谈论这一主题

@djv:您可以使用Win + Shift +箭头将应用程序从一个显示移动到另一个显示。它比拖动它们快得多。粘角仍然很烂。

#1 楼

线程
如何在Windows 10中禁用粘滞角?
从answers.microsoft.com处理相同的问题:


从左侧监视器移动鼠标时在
监视器的左上角,6像素角将抓住您的鼠标。

我在Windows 8.1中有类似的问题,并且将注册表中的MouseCornerClipLength从6更改为0并禁用Corner
帮助了任务栏和“开始”菜单中的导航。

/>无论如何,在Win10中我都找不到MouseCornerClipLength,角落导航
,并且添加相同的注册表项也无济于事。


2015年6月4日的答案由Microsoft支持工程师Vijay B提出:


我们已经知道了这个问题,目前正在调查中。
敬请期待,我们将在其他情况下更新此线程。信息
可用。

如果遇到任何其他张贴者都没有通过Windows反馈应用程序提交,请这样做。本文
http://answers.microsoft.com/zh-cn/insider/forum/insider_apps-insider_feedback/how-to-share-feedback-on-windows-10-technical/5e501781-a580-43e3- 8926-40ae19343805解释了如何使用Windows反馈应用程序。


当前看来,您唯一的选择是等待将来的改进,或者让某些黑客提出解决方案。正确的技巧。
将声音添加到Windows反馈应用程序中可能会有所帮助。

[EDIT1]据说开源应用程序Non Stick Mouse在这种情况下提供了一种解决方案。多个显示器。
开发人员指出:



它的作用是将鼠标悬停在拐角处以及移动窗口时的屏幕边缘。因此,它允许在屏幕上拖动
窗口,而鼠标没有被
Snap Assist劫持。
[...]
该应用程序不读取或写入任何驱动器,它不



警告:警告中指出,
Virustotal在最新版本的“不粘鼠标”中发现恶意软件。 br />
[EDIT2]

我发现了一个

,它提供了Windows 10解决方案(我现在无法对其进行测试):


禁用Snap
在“设置”>“系统”>“多任务”中,将“ Snap”设置为Off。

注册表修改
创建并执行以下.reg文件:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"MouseMonitorEscapeSpeed"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\EdgeUI]
"MouseMonitorEscapeSpeed"=-




评论


近三个月后。刚刚更新到Windows 10,这仍然是一个问题。感谢您指出我要投诉的方向。

– Chaser324
15年10月29日在7:43

2017年仍然是一个问题

–基思
17年2月2日在18:08

在2018年底仍然是一个问题,他们将永远不会解决它。

– Arthur Castro
18年11月6日14:39



一年是2019年,仍然没有任何改善。

–CustomX
19年4月24日在11:18

2020年签入,仍未解决

– Hoog
20-2-14在15:04

#2 楼

我开发了一个用于解决此问题的应用程序,因为微软显然似乎有意忽略它。您可以从这里获得:http://www.jawfin.net/nsm

评论


是的,有人注意到了!但是请保持关注,如果任何人需要此应用程序帮助或有任何改进建议,请发布在我的网站上,以便所有人都可以在一个地方看到它。干杯:)

–乔纳森·巴顿(Jonathan Barton)
2015年12月17日4:20



尽管在穿越具有不同分辨率的显示器时遇到了麻烦,但这种方法出奇地好。

– isanae
16 Feb 10'在19:04

@JonathanBarton您的应用程序在扫描中显示为病毒。有什么理由吗?当由MBAM扫描时,它也显示为可疑。

–mbomb007
18年5月30日在14:11



@ mbomb007,您好-在相关网站上,这里有很多评论颌骨.net / nsm,详细介绍了我对AV的所有乐趣。请阅读这些内容,以获取更多信息以及可以使自己满意的应用程序清洁方式。干杯

–乔纳森·巴顿(Jonathan Barton)
18年6月6日在7:09

@JonathanBarton谢谢,我还没有检查评论。

–mbomb007
18年6月6日在13:26

#3 楼

局部解决方案


禁用“ Snap”
不能解决整个问题,但严重性要小得多。
易于操作:禁用“ Snap”在Windows 10中。如果链接断开,请参见下面的详细信息。
如果您确实愿意,可以为完整的解决方案实施变通办法,但这是很多工作,因为您实际上需要编写一个程序来完成此工作。 。这篇文章结尾的详细信息。

背景

我设置了6个显示器:

                Monitors
   Top row:  [#1] [#2] [#3]
Bottom row:  [#4] [#5] [#6]   (eye-level; #5 is main display)


每当我将一个窗口从一个监视器移动到另一个监视器时,Windows 10都会检查是否要最大化它。此功能称为“快照”,似乎是有问题的,因为它经常阻止我将窗口从一个显示器移动到另一个显示器。我发现这个超级用户问题时感到沮丧。

禁用Snap确实对我有帮助。这也会自动禁用Aero震动,我认为这是一种奖励。

过程

要禁用“捕捉”和“ Aero震动”:


转到:


“控制面板”
->“所有控制面板项目”
->“轻松访问中心”
->“使鼠标更易于使用”。


选中“防止将窗口移到屏幕边缘时自动布置窗口”。
单击“确定”或“应用”。

结果


阻止了将窗口从一个屏幕移动到另一个屏幕的“ Snap”现在被禁用。窗户可以自由移动。
现在禁用了“气动抖动”,它使一个窗户抖动时所有窗户都最小化。
“粘死角落”,虽然在角落处也引起类似的问题(而不是所有边界),仍然是一个问题。据我所知,目前尚无法(2015-08-18)禁用“粘滞角”或进一步缓解其引起的问题。

解决方法

粘性角落有一种解决方法,但这并不有趣。要点是,您制作了一个WPF程序,该程序在每个显示器的角落都放置了一个黑色小方块,然后,当该程序检测到鼠标在这些方块上移动时,它将按预期将鼠标跳至下一个屏幕。从技术上讲,您可能希望调整“正方形”的形状以匹配“粘滞角”实际影响的任何区域(可能是类似L的形状?)。

基本上:


下载Visual Studio,例如Visual Studio 2015社区。
创建一个WPF项目。

让WPF应用程序在每个页面上创建一个Window。对于每个Window

 this.Topmost = true;
this.AllowsTransparency = true;
this.Background = Brushes.Transparent;
this.WindowState = WindowStates.Maximized;
Border border = new Border();
this.Content = border;
border.Background = Brushes.Transparent;
border.BorderBrush = Brushes.Black;
border.BorderThickness = new Thickness(5);
border.MouseMove += HandleThisByMovingTheMouseToTheCorrectScreen();
 


编写HandleThisByMovingTheMouseToTheCorrectScreen()将鼠标移动到适当的位置,从而避免粘滞角陷住。
如果想花哨的话,可以用Border代替Grid,每个角都带有一个单独的Canvas(与Border相对,后者也可以覆盖未覆盖的边缘每个屏幕上的角)。


评论


这与我要达到的目标有什么关系?

– djv
15年8月19日在1:19

@Verdolino:它极大地缓解了导致我发现此问题的问题,因此我认为这可能会帮助其他人。我添加了一个变通办法部分,详细介绍了如何制作WPF程序来解决“粘性角落”问题(如果您想走得更远)。但是编写它可能需要一两个小时。

–纳特
15年8月19日在1:26

如果解决了问题。但是您甚至说过“粘性拐角”,这仍然是一个问题,它引起了类似的问题,但仅在拐角处(而不是在所有边界处)。

– djv
15年8月19日在1:31

我提供的“解决方案”禁用了Windows 10 Education x64上似乎遇到的类似“ Sticky Edges”的错误。此问题影响了所有边缘,而不仅仅是拐角。一旦实施,该问题就消失了,但是仍然存在更为有限的“粘滞角落”问题。变通解决方案通过从字面上检测鼠标何时被粘死角困住并以编程方式将其移动到下一个屏幕来解决“粘死角”问题。

–纳特
15年8月19日在1:34

我实际上确实为此编写了一个程序。极其快捷和肮脏,我甚至硬编码了我的拐角点-但如果需要的话,它可能会很友好!我只是在发布,以注意上面的解决方法需要答案提供的更多工作。如果您只是将鼠标移到相邻显示器的下一个角,则粘滞角也会拾取该角-您必须将其移到当前显示器中远离角的位置(做到8像素)-然后将其移动到下一个显示器。您还必须休眠UI线程才能停止Win10重新抓取它-.-

–乔纳森·巴顿(Jonathan Barton)
15年11月24日在2:22

#4 楼

这也困扰了我。我在实施AutoHotkey解决方案时大胆尝试,该解决方案保留了所有主要的“快照”功能,同时允许您严格禁用在显示器之间的角落发生的鼠标“粘滞”。

解决方法:

https://github.com/patricknelson/win10-sticky-mouse


安装AutoHotkey

下载并运行上面的仓库中的win10-sticky-mouse.ahk。

这里的关键是看来自WM_MOUSEMOVE的消息,并使用它来预测鼠标的前进方向,然后跳过(跨轴到主移动轴)刚好足以确保Windows不会[un]有用地抓住鼠标。

如果您仍然遇到问题,请尝试一下,让我知道是否有帮助。任何问题或请求请求都非常欢迎!

评论


此方法有效,并且没有被许多AV标记为病毒。病毒总数

–mbomb007
18/09/20在14:15

您可以使用exe,但我仍然建议您下载AutoHotkey并直接加载ahk脚本(只需双击);一般而言,这只是一个更安全的习惯。

–chunk_split
18年11月12日在21:54

#5 楼

本着乔纳森·巴顿(Jonathan Barton)所做贡献的精神,我开发了一个Windows C#命令行应用程序来解决此问题,并允许鼠标​​在多台显示器上平滑移动,并在最左和最右之间进行环绕显示器。请注意,该程序不需要“启发式”即可确定何时光标位于屏幕边缘附近,因此光标在边缘上的流动非常顺畅。




MouseUnSnag- GitHub-您可以从源代码编译它,或者提供一个可执行文件作为GitHub“发行版”。

MouseUnSnag还解决了这个相关的superuser.com问题,即光标卡在了不同显示器的边缘上高度:


在显示器之间移动时如何从角落包裹鼠标?


评论


感谢您提供的出色工具。使用非常愉快。在实践中甚至比听起来更好。

–德鲁·诺克斯(Drew Noakes)
18-10-18在10:41

这对我有用,但Chrome在下载时将其检测为病毒。我仅使用内置的Windows AV,因此不确定Chrome是否只是委托给它。但是,在自述文件中有关于如何编译的说明,它们可以完美地工作。我没有意识到nuget有多容易,C#编译器有多小。在源文件中没有看到任何“有趣”的内容,因此对AV问题感到满意。但是,要永久使用,我需要不要从CLI运行它。

–詹森·温内贝克(Jason Winnebeck)
18-10-22在16:17

感谢您对被AV标记的警告。可能是因为EXE是“未签名的”,所以它可能显示为“未知的发行者”或类似名称。

–dale
18-10-22在20:30

这很漂亮!比我的脚本更好(以上答案)。另外:对于难以置信的懒惰/愚蠢的人(像我一样),这是下载发布页面的链接:github.com/dale-roberts/MouseUnSnag/releases-p.s.您可以将其更新为在启动时不包括控制台吗?

–chunk_split
19年1月17日在6:01



ps同时,我将在启动时启动它,并使用RBTray将其最小化到系统托盘中(我也在那里提交了一个请求,以允许命令行选项在启动时最小化常规应用程序)

–chunk_split
19年1月17日在6:10



#6 楼

尝试使用应用程序Display Fusion。即使在Windows 10中,它也可以解决该问题。正在寻找的设置位于以下设置中:Mouse Management:防止鼠标光标停留在Sticky Corners中(Windows 10)。

评论


在哪里可以获得此软件?请不要在评论中回复;编辑您的答案,使其更清晰,更完整。

–斯科特
17年9月19日在3:57

找到了它:displayfusion.com。截至目前,它的家庭执照费用为35美元,但确实可以解决问题。

– djv
17年9月19日在14:17

最近在DisplayFusion上进行了尝试,并且当显示器的分辨率都相同时,它仍然无法解决拐角问题。

– xofz
20 Mar 5 '20 at 1:19

@xofz我已经使用DisplayFusion多年了,尽管从未使用过鼠标管理功能。我出于实验目的对其进行了测试,并且与两个相同的显示器并排使用时,它似乎可以正常工作。如果您遇到了其他无法解决的问题,则可以考虑让Binary Fortress的人知道。海报确实引用了错误的功能。我已经提交了修改。

– T.J.L.
20年7月6日在20:21



#7 楼

我不确定这是否一直是最近刚刚实施的一种选择,但是我通过进入“设置”>“系统”>“多任务处理”找到了解决方案。
然后通过“将窗口自动拖动到屏幕的侧面或召集者“
,它将关闭所有快照设置
我从以下站点的教程中发现了此设置:https://www.tekrevue.com/tip/how-to -disable-snap-assist-windows-10 /

可视化演练:

打开设置并单击系统





单击多任务并关闭“第一个快照”选项




评论


问题是关于鼠标卡在角落的问题,您的答案是关于排列窗口的问题

–xedo
20-04-22在4:31

什么?我在将答案添加到最佳答案之前大约一年发布了该答案。所以,是的,这是关于这个问题的。

– AJ Smith'Smugger'
20-04-24在9:40

#8 楼

这是Windows 8的一个功能,称为粘角(IIRC)。有人声称自己通过注册表更改禁用了它:


在注册表中,搜索:MouseCornerClipLength
将该值设置为0(从6开始)
重复(此名称有多个钥匙,我不确定哪个是必要的。)
重新启动

请注意,我目前不在这种情况下可以尝试,所以请告诉我这是否不能解决您的问题,我将删除答案。

评论


同样,我不在atm的情况下,但是回到家时,我会首先尝试一下。谢谢

– djv
15年7月30日在21:15

看起来很有希望,但在Windows 10中不起作用。请参见我的编辑。

– djv
15年7月31日在15:13

这个答案似乎属于这个问题,但与Win 8相同:superuser.com/questions/498576/…

– jinglesthula
16-2-29在19:18

#9 楼

临时修复。我回到了Logitech无线鼠标。我一直在使用Minicute左手鼠标,但是卡住了。到目前为止,Logitech M705鼠标还没有。罗技一定已经看到它的到来。

#10 楼

我不知道这是否会帮助别人。但是,我只是拖动监视器编号将#1移至#2所在的位置,反之亦然。有效。而且,到目前为止(手指交叉)它还没有恢复到鼠标卡住的问题。祝好运。

评论


但是,然后监视器将是错误的方式...?

–djsmiley2kStaysInside
17 Mar 10 '17 at 16:24

#11 楼

当“选择并重新排列显示”配置部分中的两个显示之间存在间隙时,Windows 10中似乎存在此问题。我能够通过将两个显示器彼此稍微移开来解决此问题,因此在视觉上它们之间没有缝隙。参见示例