适用于Mac OS X的SetWindowsHookEx?

Windows钩子允许您在其他进程中查找,有时会改变其行为。

Mac OS X有这样的东西吗?

谢谢!

SetWindowsHookEx更像是旧的InputManager hack,从某种意义上说,你可以从共享库/加载到它的插件中更改应用程序的代码。

请参阅SIMBL以获取另一个进程的现成代码注入器。 对于Objective-C类,您需要使用方法调配 。 我自己没有尝试替换C函数/ C ++类,但肯定可以使用mach_override来完成。 另请参阅此博客文章 。

但通常如果你想修改一个GUI应用程序,那么点击Objective-C类就足够了。

Quartz事件点击可以监视和修改低级事件,例如击键和鼠标点击,但受到一些限制。 你能告诉我们你想做什么吗?

具体来说,你想要完成什么? 你能解释为什么你想要Mac OS X等同于SetWindowsHookEx()吗? (简答:没有一个。中等答案:几乎所有你可以用Windows上的SetWindowsHookEx()做的事情都可以在Mac OS X上以其他一些OO方式完成。)