我想爲應用切換器(aka'cmd + tab')創建替代品。如何確定私有API函數的參數?
我知道這是可能的,因爲Lite Switch X可以做到這一點。
我有迄今取得什麼:
強行退出碼頭,並呼籲CPSRegisterForKey()
(這是一個私人的API函數),我可以阻止默認的CMD +選項卡無法正常工作。
第二步是爲我的應用程序註冊兩個熱鍵。這樣做的標準方式,RegisterEventHotKey()
,不起作用。一些谷歌搜索和GDBing表明Dock和Lite Switch X使用CGSSetHotKeyEnabled()
和CGSSetHotKey()
(這兩個都是私有API函數)。我遇到的問題是我不知道這些功能需要什麼參數。
如何確定私有API函數的參數?
更新:
我有一點點進一步CGSSetHotKey()
:
OSErr setupResult = CGSSetHotKey(_CGSDefaultConnection(), unknownArg, unknownArg, unknownArg, kCGEventFlagMaskCommand, ???, ???, ...);
關閉但沒有雪茄!這些調用都是普通的C,而不是Objective-C。但是,它仍然有用。謝謝! – 2010-06-18 22:46:43
哎呀!你絕對正確。正如你所做的那樣,你可以使用'gdb'連接到Finder,但是你沒有這些共享庫的符號。一個有趣的挑戰... – 2010-06-19 01:14:56