【发布时间】:2011-07-28 11:37:11
【问题描述】:
我想从另一个进程中窃取NSWindow。最好是这样,但是一个NSView,即我从[window contentView] 得到的那个也可以(特别是因为我认为我可以使用[view window] 升级到NSWindow。
显然,这很可能没有记录在案,并且令人难以置信地没有得到 Apple(或 Mac App Store)的批准。根据我的研究,这似乎可以通过 Apple 提供的可访问性 API 来实现,但是我还没有找到一种方法来做到这一点。
我查看了CGWindow.h,但它似乎无法满足我的需求。
谢谢(这是我的第一篇 SO 帖子)。
有人建议我提供一个非恶意的理由:简单!这是为了调试目的!而且,错误的是,对于任何人想做的任何事情,真的,因为这当然是可能的。我的一位密友,一位出色的 iOS 黑客(MobileNotifier 的开发者,如果你没有听说过的话,请在 Google 上搜索它)建议注入包,我说这可以设置一个分布式对象服务器,这将然后工作得很好。所以我们可能会尝试这种方法。
【问题讨论】:
-
一些友好的建议:如果你能想出一个看似合理的非恶意理由这样做,你可能会得到更多有用的回应。
-
这就是 Steam 要求开启某些辅助功能的原因吗?
-
@MusiGenesis - 已添加。我没有尝试任何恶意,因为这都是本地的。但是,当然可以调整我希望生成的代码以远程运行,特别是因为我可能会利用分布式对象。话虽如此,任何人都可以利用已经存在的任何漏洞。我的代码都是开源的,无论是 BSD 还是 GPL(如果我必须使用其他人的 GPL 代码,那就这样吧),所以人们会确切地知道他们在运行什么。 @Nathan S. - 可能是为了游戏内覆盖?不是特别确定,但这似乎是合理的。
-
您可以做的另一件很酷的事情是make a PDF screenshot out of it。
标签: objective-c cocoa macos macos-carbon