我遵循以下建议: 在靠近屏幕边缘时如何禁用自动最大化/调整窗口大小(自动捕捉)?
但这也会关闭按WinKey+ 的功能,即按Left/Right Arrow箭头键的方向将窗口固定到屏幕的一半。
有没有办法独立控制它们?
我遵循以下建议: 在靠近屏幕边缘时如何禁用自动最大化/调整窗口大小(自动捕捉)?
但这也会关闭按WinKey+ 的功能,即按Left/Right Arrow箭头键的方向将窗口固定到屏幕的一半。
有没有办法独立控制它们?
Answers:
尽管可能没有通过GUI进行此操作的方法,但是有一种可以通过编程方式完成此操作的方法。
您想要的功能是SystemParametersInfo。你可以在MSDN上读到它,如果你想它的全部功能(这是可以访问的设置荒谬的数字),但你会感兴趣的SPI_SETDOCKMOVING
和SPI_SETSNAPSIZING
。
SPI_SETDOCKMOVING
通过拖动窗口的标题栏来切换捕捉窗口的能力。您可以这样关闭它:
SystemParametersInfo(SPI_SETDOCKMOVING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)
SPI_SETSNAPSIZING
通过使用顶部和底部边框调整窗口大小来切换捕捉窗口的能力。您可以这样关闭它:
SystemParametersInfo(SPI_SETSNAPSIZING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)
要重新打开任何一个,只需使用第二个参数的非零数字进行相同的调用即可。要使更改在重启后不持久,请从最后一个参数中删除SPIF_UPDATEINIFILE标志。
为确保您保留键盘快捷键,请不要在“控制面板”或注册表中关闭AeroSnap。
勤奋的人可能会注意到,此处提供的参数与文档中提供的参数不符。特别是pvParam和uiParams被切换了。这是我找到的使此功能在我的计算机上运行Windows 8.1的唯一方法,因此我怀疑文档中存在错误。
过去,我一直在寻找这种方法,但我不相信Windows本身可以采用这种方法。但是,还有第三方替代方法。首先,按照问题中的链接禁用航空捕捉。然后,使用WindowsPad(特殊的AutoHotkey脚本设置),您可以在多显示器设置中还原屏幕之间的移动窗口,使用向左/向右捕捉,等等(顶部,底部,中间和角落捕捉)。默认情况下,WindowsPad使用Win+ NumPad键(因为添加了功能),但是您可以通过将以下内容添加到[Hotkeys]
WindowsPad.ini文件的部分来添加类似于Aero-snap的箭头键功能:
#+左= WindowScreenMove,下一步 #+右= WindowScreenMove,上一个 #左= WPM,-1、0、0.5、1.0 #右= WPM,+ 1、0、0.5、1.0 #Up = MaximizeToggle #Down =恢复
不幸的是,您确实无法捕捉到屏幕的50%,然后又恢复到原始位置(因为它实际上是在调整窗口的大小,而不是使用航空捕捉)。但是到目前为止,这是我发现的唯一缺点。
WindowsPad的角落和底部快照功能演示:
您可以尝试我的Windows工具集合。以下是移动窗口的热键:
Win+Array: Move the active window based on other visible windows. This allows for fast window alignment.
Shift+Win+Array: Move the left-up corner of the active window.
Alt+Win+Array: Move the right-bottom corner of the active window.
Ctrl+Win+Array: Dock the active window
Alt+F9: Minimize the active window
Alt+F10: Toggle maximize the active window
2015年6月
您可以在注册表中执行此操作。
HKEY_CURRENT_USER \Control Panel\Desktop
WindowArrangementActive
双击选择字段0
从此处找到http://www.technorms.com/33660/how-to-disable-the-windows-snap-feature