gpt4 book ai didi

c - 如何在 Mac OSx 上处理来自外部程序的数据

转载 作者:行者123 更新时间:2023-11-30 16:03:18 25 4
gpt4 key购买 nike

我想制作一个程序(我更喜欢用C语言),但即使在cocoa中,它也可以从外部程序(例如iTunes或adium)获取数据并使用它们。例如,我想获取列表框的数据或聊天文本以便对其进行操作。我需要一个开始的地方。在 Windows 中,我认为某些 api 可以找到窗口的 hWnd,然后找到指向列表框或文本框的指针。请给我一些有关如何开始的信息。预先感谢您。

最佳答案

目前尚不清楚您到底想做什么。这要么是不可能的,要么是受到严格限制。

一方面,不同的应用程序使用不同的方式构建“列表框”——Cocoa 应用程序使用 NSTableView,Carbon 应用程序使用 DataBrowser,GTK、Qt 和 Java 应用程序使用更多不同的 API。这些并不都是通过一些常见的列表框的东西;每个都是一个独立的实现。

(您可能希望 NSTableView 或 DataBrowser 会基于另一个,但不要指望它。)

另一方面,不可能获得指向该控件的指针。您无法访问另一个应用程序的 NSTableView 或 DataBrowser View 或 GTK/Qt/Java 等效 View ,除非(这仅适用于 NSTableView)该应用程序故意为您提供服务。听起来这不像你的情况。

最接近的就是可访问性,它可能非常接近,但不太可能与大多数不基于 Cocoa 的应用程序一起工作。

即使如此, View 也可能无法向您显示所有数据。表格 View 可能是延迟填充的,模仿 iOS UITableView 设计的表格 View 甚至可能永远不会拥有所有数据(因为它只拥有可以显示的数据)。

(以上所有内容都适用于各种 View ,而不仅仅是表格 View 。 Collection View 、文本字段、按钮——所有这些都适用。)

获得真实、完整的数据副本的唯一方法是询问拥有该数据的控制者。而且,如果应用程序没有专门向您提供它,那么这是不可能的。更不用说,应用程序甚至可能没有 Controller (不是面向对象的,不是 MVC,或者只是草率地制作的)。

… so as to manipulate it.

首先获取数据是容易的部分。几乎不可能弄乱另一个应用程序中的数据,这是有充分理由的。

最接近这两个目标的是辅助功能界面。

关于c - 如何在 Mac OSx 上处理来自外部程序的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4279710/

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