是否可以使用Cocoa或其他库在MacOSX上绘制其他进程窗口? 如果是的话,有样品吗?或者快速总结一下我必须做什么? (我需要至少支持OSX 10.5)
共享内存当然是一种可能的解决方案,但我更喜欢直接绘制以避免同步开销和代码重复(用例包括一个生产者和 n个客户端)。
答案 0 :(得分:2)
这是Mac OS X: Can one process render to another process’s window?的副本 简短回答:如果您只需要支持> = 10.6,您可以使用IOSurface API 有关此帖子的详细信息:Need help with IOSurface & OpenGL for max os x snow leopard application
如果您可以提供有关您尝试实现的更多详细信息,则可能还有其他一些解决方案。 (例如,将您要渲染的内容合成到CGWindowListCreateImage)
中的图像上 修改强>
对我来说,实现你想要的最简单方法似乎是使用某种共享内存
您可以使用mmap将数据映射到内存中,并在应用程序之间共享绘图代码。
<强> EDIT2:强> 我刚看到你想避免共享内存。但为什么呢?