我正在编写一个登录项,我正在尝试查找是否可以获取当前用户。
可以说,我已经使用用户“Test”登录,当我以 root 权限执行 exe 时,如果我使用
char *user = getenv("USER");
用户是“根”。
我的预期答案是“测试”。
我怎么才能得到它?
我不知道我是否可以将目标c代码放入登录项?是否可以在登录项中使用 NSUserName。
NSString *user = NSUserName();
我正在编写一个登录项,我正在尝试查找是否可以获取当前用户。
可以说,我已经使用用户“Test”登录,当我以 root 权限执行 exe 时,如果我使用
char *user = getenv("USER");
用户是“根”。
我的预期答案是“测试”。
我怎么才能得到它?
我不知道我是否可以将目标c代码放入登录项?是否可以在登录项中使用 NSUserName。
NSString *user = NSUserName();
你想要的SCDynamicStoreCopyConsoleUser
功能。
QA1133给出了一些相关的细节和警告。
登录项可以是 Cocoa 应用程序,因此您可以使用NSUserName()
(顺便说一句,在 Foundation 中)。
也许也看看 g etuid() / geteuid()