AutoHotKey - 在 Windows 10 中切换到下一个/上一个桌面的自定义快捷方式

Mat*_*mes 7 keyboard-shortcuts autohotkey virtual-desktop windows-10

我编写了一个小的 AutoHotKey 脚本来在 Windows 10 中切换虚拟桌面。我编写了这段代码,以便我可以使用自己的自定义键盘快捷键切换桌面,而不是使用 Windows 10 的默认快捷键(WIN + CTRL + LEFT/RIGHT)。

代码:

#LAlt::^#Right ; switch to next desktop with Windows key + Left Alt key
#LCtrl::^#Left ; switch to next desktop with Windows key + Left CTRL key
Run Code Online (Sandbox Code Playgroud)

此代码有效,但前提是您在按下按键之前单击当前桌面上的窗口或其他任何内容。我尝试使用 Click 功能在切换桌面之前模拟点击(有效),但它将鼠标移动到我点击的坐标,这显然不是我想要的。我玩过 ControlClick 一点,但从来没有让它工作。

所以我的问题是:有没有一种方法可以在执行切换桌面的命令之前将焦点设置在当前桌面上?或者,是否有不同的方式可以在不模拟默认 Win 10 快捷方式的情况下切换桌面?

谢谢!


编辑 1

我注意到的一件事是,如果我单击任务栏,然后执行LWin+ LAlt/ LCtrl,我可以通过按住LWin并在LAlt和之间交替来平滑地来回切换LCtrl

当我单击任务栏然后执行LWin+ 时LAlt,这是 KeyHistory 吐出的内容:

VK  SC  Type    Up/Dn   Elapsed Key     Window
----------------------------------------------
5B  15B     d   1.91    LWin            
A4  038 h   d   0.31    LAlt            
A2  01D i   d   0.00    LControl        
A2  01D i   u   0.00    LControl        
A4  038 i   u   0.00    LAlt            
A2  01D i   d   0.05    LControl        
5B  15B i   d   0.02    LWin            
27  14D i   d   0.02    Right           
27  14D i   u   0.00    Right           
A2  01D i   u   0.01    LControl        
5B  15B i   u   0.02    LWin            
A2  01D i   d   0.01    LControl        
5B  15B i   d   0.00    LWin            
A2  01D i   u   0.00    LControl        
A4  038 s   u   0.00    LAlt            
5B  15B     u   0.06    LWin            
A2  01D i   d   0.00    LControl        
A2  01D i   u   0.00    LControl
(This is what I want it to do without clicking the taskbar)
Run Code Online (Sandbox Code Playgroud)

但是当我点击LWin+ 时LAlt,KeyHistory 显示关键事件在“Right Up”事件之后停止:

VK  SC  Type    Up/Dn   Elapsed Key     Window
----------------------------------------------
5B  15B     d   1.91    LWin            
A4  038 h   d   0.31    LAlt            
A2  01D i   d   0.00    LControl        
A2  01D i   u   0.00    LControl        
A4  038 i   u   0.00    LAlt            
A2  01D i   d   0.05    LControl        
5B  15B i   d   0.02    LWin            
27  14D i   d   0.02    Right           
27  14D i   u   0.00    Right
(There should be more after this)
Run Code Online (Sandbox Code Playgroud)

LControl Up 事件永远不会被触发,这似乎把一切都搞砸了。

Mic*_*l B 0

除非我在某个地方遗漏了一点,Windows++/箭头不会ctrl切换\xe2\x86\x90桌面\xe2\x86\x92吗?至少对我来说是这样。

\n

  • @MattsterJames 可能值得修改你的问题以包含这一点 - 我怀疑我是唯一会阅读它并认为这一点的人! (3认同)
  • 是的,但是我想做的是添加我自己的切换桌面的自定义方式,因为我发现必须使用双手来切换桌面有点不方便。我希望能够使用 windows 键 + 左 Alt/左 CTRL 在桌面之间来回切换。 (2认同)