带纯C的OSX锁屏?

带纯C的OSX锁屏?,c,macos,osx-mountain-lion,C,Macos,Osx Mountain Lion,我知道这是可能的,因为我有一个二进制文件,我在几年前写的,正是为了做到这一点。不幸的是,我没有保存源代码 我知道它是用纯C编写的,我调用了OSXAPI并能够锁定屏幕。谷歌搜索“纯C OS X锁屏”和类似的字符串对我来说没什么意义;我在Objective C中看到了关于如何做到这一点的文档,但这不是我想要的 有人知道我以前是如何做到这一点的吗?一种方法是调用system(): #包括 内部主(空){ 系统(“/system/Library/CoreServices/Menu\\Extras/Use

我知道这是可能的,因为我有一个二进制文件,我在几年前写的,正是为了做到这一点。不幸的是,我没有保存源代码

我知道它是用纯C编写的,我调用了OSXAPI并能够锁定屏幕。谷歌搜索“纯C OS X锁屏”和类似的字符串对我来说没什么意义;我在Objective C中看到了关于如何做到这一点的文档,但这不是我想要的


有人知道我以前是如何做到这一点的吗?

一种方法是调用
system()

#包括
内部主(空){
系统(“/system/Library/CoreServices/Menu\\Extras/User.Menu/Contents/Resources/CGSession-suspend”);
返回0;
}

一种方法是调用
system()

#包括
内部主(空){
系统(“/system/Library/CoreServices/Menu\\Extras/User.Menu/Contents/Resources/CGSession-suspend”);
返回0;
}

您可能正在考虑使用
CGSCreateLoginSession()
——这是一个私有函数,苹果公司没有记录在案。有关其使用示例,请参见。

您可能正在考虑使用
CGSCreateLoginSession()
——这是一个私有函数,苹果公司没有对此进行记录。有关其使用示例,请参阅。

您确定使用的是API而不是
system()
调用吗?一些奇怪的想法:也许您可以反汇编旧二进制文件或使用调查系统调用?您确定使用的是API而不是
system()一些奇怪的想法:也许你可以分解旧的二进制或者使用系统调用来调查?请考虑至少提供一些例子。谷歌在这里不被认为是一个答案。请考虑至少提供一些例子。谷歌在这里被认为不是一个答案。
#include <stdlib.h>
int main(void) {
  system("/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend");
  return 0;
}