繁体   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