OS X上是否有命令/API使监视器进入休眠模式?

通过 sleep 模式,我的意思是完全杀死监视器的输出。我知道可以在电源设置中进行配置,但这是基于时间的。

最佳答案

可以使用半未公开的api来完成此操作。

#include <CoreFoundation/CoreFoundation.h>
#include <IOKit/IOKitLib.h>

/* Returns 0 on success and 1 on failure. */
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;
}

GCC标志:-framework CoreFoundation -framework IOKIT
IOKit Documentation

关于macos - 休眠显示OSX的命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1239439/

10-11 02:46