Windows 系统 多桌面切换的 鼠标实现

发布时间 2023-04-08 17:40:07作者: Alerson

我作为一个开发者正常在日常的工作环境中大多是使用Mac OS系统进行开发。也经常会接触到windows系统。

我认为,苹果操作系统在使用体验方面非常人性化,比如提供了很多方便的快捷键和快捷指令。对于我来说,最喜欢的功能就是苹果的多桌面,让我可以更加高效地处理任务。虽然 Windows 操作系统也提供了多桌面功能,但是似乎大多数人还不知道如何使用。苹果操作系统比 Windows 在便利程度方面更具优势。好比如说是苹果手机跟安卓手机相比较,苹果手机使用起来可能会更省心一些;

在我使用苹果系统的日常中,我通常会搭配罗技鼠标来使用。罗技鼠标提供了很多适配苹果系统的快捷键指令,使得我的使用体验更为顺畅。然而,在 Windows 系统下,如果没有罗技鼠标的话,有些操作会变得比较困难,这时候我就会去寻找一些替代方案。例如,在苹果系统下,我可以只用罗技鼠标进行桌面切换,但在 Windows 系统下就比较难实现。多桌面是我习惯的功能,所以我通过不断的探索和尝试,发现了一个叫做 How to hockey 的免费开源自动化工具。它可以帮助用户实现自动化的各种任务,包括键盘鼠标操作、窗口管理、文本替换等等,非常方便且功能强大。在普通的 Windows 系统中,它也可用于替换快捷键。今天,我也会利用 Autohotkey 来实现多桌面的鼠标快捷键操作。

AutoHotkey

AutoHotkey 官网

在 Windows 平台下,如果要切换桌面的话,按下 Ctrl + Win + 左/右键是可以实现效果的。但是对于我来说,想到要使用两只手去操作键盘进行这样一个操作,如通脱裤子放屁,这跟快捷键的快捷八竿子打不着半毛钱关系。在苹果系统下,我只需要用一个鼠标就能轻松地实现多桌面的切换 (罗技鼠标有软件适配实现自定义功能)。因此,今天我会尝试利用我的鼠标来实现多桌面的切换,避免繁琐的键盘操作。

我先说一下思路,我我是直接打算用鼠标的右键加上鼠标的左右移动来实现键盘上的快捷键 Ctrl+win+左右键实现多桌面的左右切换。

基本思路是:
	1. 在鼠标右键按下的时候 记录点击的位置
	2. 过了一定时间后 再次测量鼠标的位置,如果有左右移动 则标记向左或者向右
	3. 松开鼠标右键的时候 结合是否有鼠标移动,发送ctrl + win + 左/右的消息

代码

#NoEnv
#SingleInstance Force
SetBatchLines, -1

; 变量定义
rightMouseDown := false
mouseMoved := false

; 鼠标右键按下事件
~RButton::
    rightMouseDown := true
    mouseMoved := false
    SetTimer, CheckMouseMove, 50
return

; 鼠标右键释放事件
~RButton Up::
    rightMouseDown := false
    SetTimer, CheckMouseMove, Off
return

CheckMouseMove:
    if (!rightMouseDown) {
        SetTimer, CheckMouseMove, Off
        return
    }

    ; 获取鼠标当前位置
    MouseGetPos, x1, y1

    ; 等待100毫秒
    Sleep, 100

    ; 获取鼠标新位置
    MouseGetPos, x2, y2

    ; 判断鼠标水平移动方向
    if (x2 < x1 - 10) {
        if (!mouseMoved) {
            Send, ^#{Left}
            mouseMoved := true
        }
    } else if (x2 > x1 + 10) {
        if (!mouseMoved) {
            Send, ^#{Right}
            mouseMoved := true
        }
    }
return

  1. 接下去信息将txt 文件,粘贴代码,改文件名为.ahk
  2. win+r 打开运行:输入 shell:startup ,进入 启动文件夹,把文件放进该文件夹,以后每次启动电脑就能自动运行:
    C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

现在要直接使用就双击或者右键运行script 就能运行(前提有安装autohotkey)

其实autohotkey 还有很多功能
下面我是autohotkey的 一些 文档说明:
https://www.cnblogs.com/alerson/articles/17298789.html