簡體   English   中英

訪問Cocoa和/或Carbon,以在OS X上啟動時自動啟動(在C ++上也使用QT)

[英]Access Cocoa and/or Carbon to automatically start on boot on OS X (on C++ also using QT)

我有一個使用QT框架的C ++應用程序。 我正在嘗試為用戶添加一個選項,使其能夠將程序設置為在啟動時自動啟動。

我的開發計算機正在運行OS X 10.6。

作為主要的Mac參考,我正在使用此Apple文檔 根據文檔,有兩種推薦的方法。 一種是使用僅在OS X 10.5或更高版本上有效的Cocoa共享文件列表API。 另一種方法是使用Carbon Apple Events API,盡管我的閱讀資料中沒有明確說明,但據我看來,該API僅適用於OS X 10.5或更低版本。

根據此QT文檔,我應該能夠做到這一點。 但是,我似乎無法弄清楚如何使這兩種方法都起作用。

對於Cocoa共享文件列表API,我遵循了此答案中的建議,但似乎無法弄清楚要包含哪些文件才能使它在我的項目中正常工作。 像LSSharedFileListRef這樣的東西是未定義的。 我想用C ++做的事情甚至可能嗎?

對於Carbon Apple Events API,我嘗試使用來自Apple 自身示例的代碼。 但是,包括似乎並沒有定義我需要的所有東西,就像在線上的所有示例所暗示的那樣。 例如,DescType是未定義的,示例不起作用。 這是因為我使用的是OS X 10.6嗎?

總體而言,我該怎么做才能使程序在啟動時啟動,並且理想地支持所有Mac OS X 10.4及更高版本?

如果要支持10.4及更高版本,則需要使用Carbon Apple Events API。

如果將基本SDK設置為10.4u或10.5,則鏈接到我的OS X 10.6盒子上的示例代碼可以正常工作。 如果要使用10.6 SDK進行編譯,需要刪除幾行,但是如果要支持10.4及更高版本,那不是您想要的。

順便說一句,用戶可以使用“系統偏好設置”的“帳戶”面板輕松設置要在登錄時啟動的程序。 因此,我認為您不需要自己提供復選框。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM