如何确定私有API函数的参数?

时间:2010-06-18 17:09:06

标签: macos gdb macos-carbon hotkeys

我想为应用切换器创建一个替代品(又名'cmd + tab')。

我知道这是可能的,因为Lite Switch X可以做到。

到目前为止我取得的成就:

强制退出Dock并调用CPSRegisterForKey()(这是一个私有API函数),我可以阻止默认的cmd +标签工作。

第二步是两个注册我的应用程序的热键。执行此操作的标准方法RegisterEventHotKey()不起作用。一些谷歌搜索和GDBing表明Dock和Lite Switch X使用CGSSetHotKeyEnabled()CGSSetHotKey()(这两者都是私有API函数)。我遇到的问题是我不知道这些函数的参数是什么。

如何确定私有API函数的参数?

更新

我对CGSSetHotKey()

进一步了解

OSErr setupResult = CGSSetHotKey(_CGSDefaultConnection(), unknownArg, unknownArg, unknownArg, kCGEventFlagMaskCommand, ???, ???, ...);

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用class-dump?这通常非常有帮助。