У меня есть следующий код, который должен спать на дисплее Mac.Я попробовал это на Льве, но это, похоже, ничего не делает.Я проверил код, создав Mac-приложение с открытыми окнами, с кнопкой в окне и методом IBAction.Когда кнопка нажата, вызывается функция ниже, однако ничего не происходит.
Есть предложения, почему это не работает?
#include <CoreFoundation/CoreFoundation.h>
#include <IOKit/IOKitLib.h>
int display_sleep(void)
{
io_registry_entry_t reg = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/IOResources/IODisplayWrangler");
if (reg)
{
IORegistryEntrySetCFProperty(reg, CFSTR("IORequestIdle"), kCFBooleanTrue);
IOObjectRelease(reg);
}
else
{
return 1;
}
return 0;
}