我知道这是可能的,因为我有一个我几年前写的二进制文件可以做到这一点。不幸的是,我没有保存源代码。
我知道它是用纯 C 编写的,我调用了 OS X API 并能够锁定屏幕。在谷歌上搜索“纯 C OS X 锁屏”和类似的字符串并没有让我感到太多。我在 Objective C 中看到了如何做到这一点的文档,但这不是我想要的。
任何人都知道我以前是如何做到这一点的吗?
我知道这是可能的,因为我有一个我几年前写的二进制文件可以做到这一点。不幸的是,我没有保存源代码。
我知道它是用纯 C 编写的,我调用了 OS X API 并能够锁定屏幕。在谷歌上搜索“纯 C OS X 锁屏”和类似的字符串并没有让我感到太多。我在 Objective C 中看到了如何做到这一点的文档,但这不是我想要的。
任何人都知道我以前是如何做到这一点的吗?
一种方法是调用system()
:
#include <stdlib.h>
int main(void) {
system("/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend");
return 0;
}
您可能正在考虑CGSCreateLoginSession()
- 这是一个私有功能,Apple 没有记录。有关其使用示例,请参阅此问题。