我正在开发Mac OS应用程序,其中一个要求是,如果用户尚未完成应用程序中的某些任务,此应用程序会阻止用户注销或关闭计算机。是否有可能用Cocoa或Carbon实现这一目标?如果是这样,我怎么能实现这样的功能呢?
谢谢
答案 0 :(得分:4)
当用户尝试注销或关闭时,系统将要求所有应用程序退出。如果任何申请拒绝退出,该行动将被取消。由于您要取消这些操作,因此您可能希望阻止应用程序正常退出。作为终止序列的一部分,应用程序要求其代表获得许可。因此,要取消注销和关闭,以及阻止用户正常退出您的应用程序,您可以使用应用程序委托拒绝该操作。
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
if([self shouldPreventTermination])
return NSTerminateCancel;
return NSTerminateNow;
}
答案 1 :(得分:2)
这可以通过Kiosk模式(documentation)实现。请注意,通常有办法解决它。