问题: ahk脚本 通过alt+f/alt+g切换虚拟桌面后 光标输入仍然停留在原来的桌面, 这个问题该怎么解决?
https://www.autohotkey.com/boards/viewtopic.php?style=1&f=82&...
现在实现的效果:
https://gitee.com/sachinvoid/ImageHosting/raw/master/utools/1...
存在的问题: 切换桌面后 光标输入仍然停留在上一个桌面内输入
问题: ahk脚本 通过alt+f/alt+g切换虚拟桌面后 光标输入仍然停留在原来的桌面, 这个问题该怎么解决?
https://www.autohotkey.com/boards/viewtopic.php?style=1&f=82&...
现在实现的效果:
https://gitee.com/sachinvoid/ImageHosting/raw/master/utools/1...
存在的问题: 切换桌面后 光标输入仍然停留在上一个桌面内输入
在AutoHotkey中实现Alt+F/G切换虚拟桌面时保持光标跟随(或更具体地说,确保光标和输入焦点跟随到新切换的虚拟桌面)通常涉及到与Windows虚拟桌面的API交互,但这在AutoHotkey的标准功能中并不直接支持。不过,你可以通过一些间接的方法或使用额外的工具来实现类似的功能。
首先,确保你已经知道Windows 10及更高版本内置了虚拟桌面支持,并且你可以使用Win + Ctrl + 方向键
来切换虚拟桌面。如果这些快捷键符合你的需求,那么你可能不需要编写额外的AutoHotkey脚本来实现光标跟随。
如果你坚持要使用Alt+F/G作为快捷键,并且希望光标跟随,你可以尝试在AutoHotkey脚本中模拟鼠标移动到屏幕中央(或任何你希望光标停留的位置),但这并不能保证光标会跟随到新桌面,因为这取决于Windows如何处理桌面切换时的光标位置。
以下是一个基本的AutoHotkey脚本示例,它尝试在切换桌面时模拟鼠标移动到屏幕中央,但这可能不足以解决问题:
^!f:: ; Ctrl+Alt+F
Send, ^{LWin Down}Ctrl{LWin Up}{Right}
CoordMode, Mouse, Screen
MouseMove, A_ScreenWidth / 2, A_ScreenHeight / 2, 0
return
^!g:: ; Ctrl+Alt+G
Send, ^{LWin Down}Ctrl{LWin Up}{Left}
CoordMode, Mouse, Screen
MouseMove, A_ScreenWidth / 2, A_ScreenHeight / 2, 0
return
注意:上面的脚本使用了Ctrl+Win+方向键来切换虚拟桌面(这是Windows 10的默认快捷键),并且在切换后尝试将鼠标移动到屏幕中央。但这并不保证光标和输入焦点会真正跟随到新桌面。
由于AutoHotkey的限制,你可能需要考虑使用其他工具或脚本来更直接地控制Windows虚拟桌面的行为。例如,有些第三方工具(如NirCmd)提供了更广泛的系统控制功能,但即使这样,直接控制光标和输入焦点跟随到新桌面的能力也是有限的。
由于Windows的虚拟桌面管理机制,以及AutoHotkey的限制,实现光标和输入焦点在切换虚拟桌面时自动跟随可能是一个挑战。如果你的需求非常具体,并且上述方法都不满足,你可能需要考虑编写更复杂的系统级脚本或使用其他工具来辅助实现。
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
5 回答850 阅读
3 回答2.2k 阅读
5 回答1.2k 阅读✓ 已解决
在
AutoHotkey
中,你可以使用Alt+F
和Alt+G
来切换虚拟桌面并保持光标跟随。这可以通过记录当前鼠标位置并在切换虚拟桌面后恢复鼠标位置来实现。以下是一个简单的 AutoHotkey 脚本,可以帮助你实现这个功能:
MouseGetPos
用于获取当前的鼠标位置。Send, ^#{Left}
是切换到上一个虚拟桌面的快捷键(Ctrl + Win + Left)。Send, ^#{Right}
是切换到下一个虚拟桌面的快捷键(Ctrl + Win + Right)。MouseMove
切换虚拟桌面后将光标移回到原来的位置。这个脚本可以确保在切换虚拟桌面时,鼠标位置不会发生改变,使得你在新桌面中仍可以快速操作。