是否有一个API,可以将屏幕锁定为菜单栏条目,您可以从Keychain首选项中添加该API?

Keychain功能用于锁定屏幕,但不会使系统进入睡眠状态。

最佳答案

它没有正式记录,并使用私有API,但是以下在MacOS 10.10上可用(可能在较早的系统上也可以):

// lockscreen.c
extern int SACLockScreenImmediate ( void );

int main ( ) {
    return SACLockScreenImmediate();
}


构建:

clang -F /System/Library/PrivateFrameworks -framework login -o lockscreen lockscreen.c


现在,调用./lockscreen将立即锁定屏幕,无论用户在其安全性首选项中配置了什么(是否锁定屏幕保护程序/系统睡眠),并且都无需注销用户。这是系统内部用于锁定屏幕的功能。

我强烈不鼓励使用它,它可能会破坏您的应用程序,甚至不确定我是否正确调用了它(也许它需要参数,也许它具有返回值),因此它甚至可能破坏您的整个系统(临时-重新启动会解决所有问题),谁知道呢。我只是想将其张贴在文档中。

如果某位黑客技能比我更好的人可以对此呼叫进行更多分析,那么这将非常有用。

07-26 09:33