objective-c - 从任意进程窃取 NSWindow (或 contentView)

标签 objective-c cocoa macos macos-carbon

我想从另一个进程窃取一个NSWindow。最好是这样,但是 NSView,即我从 [window contentView] 获得的那个,也可以(特别是因为我认为我可以升级到 NSWindow[view window]

显然,这可能没有记录,并且令人难以置信地没有得到 Apple(或 Mac App Store)的批准。根据我的研究,这似乎可以通过 Apple 提供的辅助功能 API 来实现,但我还没有找到实现此目的的方法。

我查看了CGWindow.h,但它似乎没有提供我需要的内容。

谢谢(这是我的第一篇帖子)。

有人建议我提供一个非恶意的理由:简单!这是为了调试目的!而且,呃,对于任何人想做的任何事情,真的,因为这当然是可能的。我的一位亲密 friend ,一位出色的 iOS 黑客(MobileNotifier 的开发者,如果你没有听说过,请在 Google 上搜索它)建议注入(inject) bundle ,我说这可以设置一个分布式对象服务器,这将然后工作得很好。所以我们可能会尝试这种方法。

最佳答案

您无法“窃取”窗口,但您可以使用 SIMBL 或 mach_inject/override 之类的工具将您想要的任何行为添加到任意进程的窗口中。

关于objective-c - 从任意进程窃取 NSWindow (或 contentView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5527181/

相关文章:

ios - Objective-C . 如果文本字段等于某物,我希望标签显示特定文本

iphone - 如何最好地构建基本 iPhone 表格/导航数据库应用程序的代码?

Swift NSTextField,在 Cmd + Enter 上执行

java - 是否有用于 32 位 OS X 的 Java 1.7 JRE?

cocoa - 嵌入式框架与 bundle 外部的版本冲突

ios - AVCaptureSession startRunning 正在取消静音设备

iOS中文字符串显示?在按钮标签中时

objective-c - 从 NSMutableArray 中的 C-Struct 获取值

cocoa - 关闭窗口后退出 cocoa 应用程序

java - 开发应用程序以 native 运行还是跨平台?