2

我有以下代码假设在 Mac 上休眠显示器。我已经在 Lion 上尝试过,但它似乎没有做任何事情。我通过创建一个带有窗口中的按钮和 IBAction 方法的准系统窗口 Mac 应用程序来测试代码。当按钮被按下时,下面的函数被调用,但是没有任何反应。

关于为什么它不起作用的任何建议?

#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;
}
4

0 回答 0