2

我正在编写一个登录项,我正在尝试查找是否可以获取当前用户。

可以说,我已经使用用户“Test”登录,当我以 root 权限执行 exe 时,如果我使用

char *user  = getenv("USER");

用户是“根”。

我的预期答案是“测试”。

我怎么才能得到它?

我不知道我是否可以将目标c代码放入登录项?是否可以在登录项中使用 NSUserName。

NSString *user = NSUserName();
4

2 回答 2

8

你想要SCDynamicStoreCopyConsoleUser功能

QA1133给出了一些相关的细节和警告。

于 2011-09-28T22:19:55.030 回答
0

登录项可以是 Cocoa 应用程序,因此您可以使用NSUserName()(顺便说一句,在 Foundation 中)。

也许也看看 g etuid() / geteuid()

于 2011-09-28T15:24:20.407 回答