如何在 Rust 中使用 objc 调用函数

How to call function using objc in Rust

我想 运行 Cocoa 的 Quartz Window 服务在 Mac 上从 Rust 调用 CGWindowListCopyWindowInfo using a library called objc 的功能,这可能吗?
我不知道如何 运行 使用 send_msg! 来实现它。

首先,您要链接到 API 的 Swift 版本,您 真的 想要 the objective C version.

其次,Objective-C 用于对象的“方法”,这就是为什么 send_msg! 采用主题 (obj)。 CGWindowListCopyWindowInfo 是“核心”服务的一部分,这意味着它几乎是直接的 C。现在我不知道是否有绑定,显然 Servo 曾经维护过 CG 绑定,但它们似乎已被弃用。您可能可以自带设备,就像绑定到常规 C 库一样(手动或使用 bindgen)。

不过,我建议先了解 macOS APIs 和框架的工作原理。