应用程序不能阻止Mac上的关机

时间:2011-03-21 09:23:27

标签: macos sleep shutdown

我正在尝试使用Mac OS X应用程序来防止关机/睡眠/重启。这是我在Xcode项目中的main.m:

// 
//  main.m
//  CurrencyConverter
//
//  

#import <Cocoa/Cocoa.h>

OSErr QuitAppleEventHandler( const AppleEvent *appleEvt, 
                            AppleEvent* reply, UInt32 refcon )
{
    //returning userCanceledErr to cancel logout
    return userCanceledErr;
}

int main(int argc, char *argv[])
{
    OSErr   err;

    //Installing quit event handler
    err = AEInstallEventHandler( kCoreEventClass, 
                                kAEQuitApplication,  NewAEEventHandlerUPP(
                                                                          (AEEventHandlerProcPtr)QuitAppleEventHandler),  
                                0, false );

    if (err != noErr)
        ExitToShell();

    return NSApplicationMain(argc,  (const char **) argv);
}

不知何故,当我构建并运行时,我无法获得所需的结果。它仍然在睡觉,关闭等等。我只是想知道我做错了什么。我从中获取了代码片段 http://developer.apple.com/library/mac/#technotes/tn2002/tn2062.html在防止关机等部分。我知道我可以使用自助服务终端,但我不知道如何将其集成到我的应用程序中。谢谢。

1 个答案:

答案 0 :(得分:0)

都能跟得上!!!

对我来说很好。我认为你的问题是程序没有持续运行。因此,当它退出时,所有系统挂钩都将被删除。