gpt4 book ai didi

swift - 以编程方式控制 macOS 鼠标 - Swift 4

转载 作者:可可西里 更新时间:2023-11-01 01:57:17 27 4
gpt4 key购买 nike

我正在使用 Swift,我正在尝试弄清楚如何用我的 iPhone 控制我的 macOS 鼠标。我认为第一步是通过 macOS 应用程序以编程方式 move MacOS 鼠标。我不确定我遗漏了什么或做错了什么。

import Cocoa
import CoreGraphics

class ViewController: NSViewController {

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
}

typealias CGDirectDisplayID = UInt32

func CGMainDisplayID() -> CGDirectDisplayID{

return CGMainDisplayID()

}

func CGDisplayMoveCursorToPoint(_ display: CGDirectDisplayID,
_ point: CGPoint){
}

self.CGDisplayMoveCursorToPoint(CGMainDisplayID(),(25,400))

}

我得到一个错误:“Expected Declaration” for self.CGDisplayMoveCursorToPoint(CGMainDisplayID(),(25,400))

最佳答案

我已经稍微重写了你的类(class)。这应该可以完成您想要的:

typealias CGDirectDisplayID = UInt32

class ViewController: NSViewController
{

override func viewDidLoad()
{
super.viewDidLoad()
moveCursor(onDisplay: mainDisplayID(), toPoint: CGPoint(x: 25, y: 400))
}

public func mainDisplayID() -> CGDirectDisplayID
{
return CGMainDisplayID()
}

public func moveCursor(onDisplay display: CGDirectDisplayID, toPoint point: CGPoint)
{
CGDisplayMoveCursorToPoint(display, point)
}

}

您当前代码中最重要的错误是您的 CGDisplayMoveCursorToPoint 函数在其定义中没有任何内容,因此什么也不会发生。此外,您不想这样命名您的函数,因为它们是由 Core Graphics 框架实现的,编译器不会喜欢这样。 Alexander 的评论似乎对您有所帮助。

在此自定义 moveCursor 函数中,您可以调用 CGDisplayMoveCursorToPoint(display, point)CGWarpMouseCursorPosition(point) - 它们在功能上是等效的, 但不需要显示 ID。从那里您需要在您的 Controller 生命周期方法之一中调用此 moveCursor 方法。 Alexander 的建议值得一提,但为了开始并测试是否一切正常,您只需将它放在 viewDidLoad 中,该函数将在加载 View 后立即触发。

希望这对您有所帮助!

关于swift - 以编程方式控制 macOS 鼠标 - Swift 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51291123/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com