Apple Mac禁用屏幕调暗和/或锁定

时间:2018-04-17 14:36:36

标签: macos locking screen

有没有办法以编程方式(例如从Python代码中)防止我的Mac变暗并随后锁定屏幕?当然,在我的申请完成后,我想再次启用正常操作。我知道关于caffiniate,但这适用于整个应用程序......这不是我想要的。在我的代码的某些时候,我想禁用调光,然后在其他一点我想再次启用它..任何提示,提示,建议?

1 个答案:

答案 0 :(得分:0)

您可以尝试IOKit。如有必要,使用IOPMAssertionDeclareUserActivity将唤醒屏幕并保持唤醒,直到用户的显示屏睡眠节能设置:

IOReturn ret;
CGError err;

IOPMAssertionID assertId;
ret = IOPMAssertionDeclareUserActivity(CFSTR("Stay awake!"), kIOPMUserActiveLocal, &assertId);

if (ret == kIOReturnSuccess)
{
    // The screen is on
}

但是,从该方法的文档:

  

“如果您希望将显示屏保持较长时间并且您知道要保留多长时间,请考虑使用kIOPMAssertionTypePreventUserIdleDisplaySleep API取代断言IOPMAssertionCreateWithDescription。”

听起来更接近你想要的。但我没试过,所以我没有样品。