MacOS获取辅助功能权限控制鼠标点击事件

MacOS获取辅助功能权限控制鼠标点击事件,第1张

概述昨晚玩一个模拟经营的游戏,由于升级太慢我就不停的种树卖树来换取经验值。不过重复点击10几分钟后,实在受不了。网上本来准备找个鼠标自动点击的软件用用。结果没找到趁手的。如是自己写了个。 自己设置需要点击的一组动作,长按(100,200),点击(576,789),点击(750,550)。类似在对应坐标点 *** 作鼠标。 原理非常简单,我就不贴代码了,主要说下如何控制鼠标点击事件。 注册系统辅助权限,这里会触

昨晚玩一个模拟经营的游戏,由于升级太慢我就不停的种树卖树来换取经验值。不过重复点击10几分钟后,实在受不了。网上本来准备找个鼠标自动点击的软件用用。结果没找到趁手的。如是自己写了个。

自己设置需要点击的一组动作,长按(100,200),点击(576,789),点击(750,550)。类似在对应坐标点 *** 作鼠标。

原理非常简单,我就不贴代码了,主要说下如何控制鼠标点击事件。

注册系统辅助权限,这里会触发用户授权
let opts = NSDictionary(object: kcfBooleanTrue,forKey: kAXTrustedCheckOptionPrompt.takeUnretainedValue() as Nsstring            ) as CFDictionaryguard AXIsProcesstrusteDWithOptions(opts) == true else { return }
鼠标事件
// 鼠标左键按下let mouseDown = CGEvent(mouseEventSource: nil,mouseType: .leftMouseDown,mouseCursorposition: CGPoint(x: 200,y: 300),mouse@R_502_5554@: .left)mouseDown?.post(tap: .cghIDEventTap)// 鼠标左键抬起let mouseUp = CGEvent(mouseEventSource: nil,mouseType: .leftMouseUp,mouse@R_502_5554@: .left)mouseUp?.post(tap: .cghIDEventTap)

以上两个事件,组成了一个鼠标左键在坐标(200,300)点击事件

MouseType支持类型
/* Constants that specify the different types of input events. */public enum CGEventType : UInt32 {    /* The null event. */    case null    /* Mouse events. */    case leftMouseDown    case leftMouseUp    case rightmouseDown    case rightmouseUp    case mouseMoved    case leftMouseDragged    case rightmouseDragged    /* Keyboard events. */    case keyDown    case keyUp    case flagsChanged    /* Specialized control devices. */    case scrollWheel    case tabletPointer    case tabletProximity    case otherMouseDown    case otherMouseUp    case otherMouseDragged    /* Out of band event types. These are delivered to the event tap callback to notify it of unusual conditions that disable the event tap. */    case tapDisabledByTimeout    case tapDisabledByUserinput}
长按事件

有人可能会留意到上述没有长按事件

长按事件就是 .leftMouseDown,达到你需要长按的时间后,再触发.leftMouseUp

扩展

一般情况你做好一系列点击组合后,是用快捷键触发开始的。那么MacOS中如何监听系统快捷键呢或者键盘事件?

添加系统键盘监听

NSEvent.addGlobalMonitorForEvents(matching: .keyDown,handler: {    [uNowned self] event in    // num1:18,num2:19    if event.keyCode == 18 {        // self.startAction()    }})
总结

以上是内存溢出为你收集整理的MacOS获取辅助功能权限控制鼠标点击事件全部内容,希望文章能够帮你解决MacOS获取辅助功能权限控制鼠标点击事件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1069466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存