2012-03-22 3 views
1

Как определить, когда компьютер собирается закрыться какао? Там, кажется, ничего нет в Интернете. Это должно различать выключение и выход из системы.Обнаружение ожидающего выключения системы с помощью какао

Может ли кто-нибудь помочь мне с этим?

+0

Примите, пожалуйста, ответ, если один из них действительно помог с проблемами. Эти 2 сочетания ответов позволили решить вашу проблему. –

ответ

1

Следующий код из официальной документации может помочь вам:

- (void) receiveSleepNote: (NSNotification*) note 
{ 
    NSLog(@"receiveSleepNote: %@", [note name]); 
} 

- (void) receiveWakeNote: (NSNotification*) note 
{ 
    NSLog(@"receiveSleepNote: %@", [note name]); 
} 

- (void) fileNotifications 
{ 
    //These notifications are filed on NSWorkspace's notification center, not the default 
    // notification center. You will not receive sleep/wake notifications if you file 
    //with the default notification center. 
    [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self 
     selector: @selector(receiveSleepNote:) 
     name: NSWorkspaceWillSleepNotification object: NULL]; 

    [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self 
     selector: @selector(receiveWakeNote:) 
     name: NSWorkspaceDidWakeNotification object: NULL]; 
} 

Для получения дополнительной информации см: https://developer.apple.com/library/mac/#qa/qa1340/_index.html

+0

Спасибо за ответ. Однако я не хотел этого. Не говорит мне, как обнаружить остановку. Я буду искать разработчика. – yskywalker

4

же код, как это предусмотрено Matthias, но изменить название уведомления в:

NSWorkspaceWillPowerOffNotification

И если вы хотят, чтобы предотвратить завершение работы системы, пожалуйста, добавьте

- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender 
{ 
    return NSTerminateCancel; 
} 

быть уверенным в использовании «NSApplicationDelegate»

Удачи!

Смежные вопросы