2011-01-11 60 views

回答

24

Foundation框架提供的功能来获取用户名和完整用户名:

#import <Foundation/Foundation.h> 

NSString *userName = NSUserName(); 
NSString *fullUserName = NSFullUserName(); 
+5

值得一提的是,您通常不必在Mac应用程序中导入Foundation,因为类文件模板都已正确设置(导入Cocoa,这是Mac上的Foundation和AppKit的伞形框架)才能开始。 – 2011-01-11 20:26:14

2

如果进程以root运行。 并且您希望当前的登录用户,那么您可以使用 SCDynamicStoreCopyConsoleUser(SCDynamicStoreRef store, uid_t *uid, gid_t *gid) 它存在于systemConfiguretion框架中。

使用它作为CFStringRef cfName = SCDynamicStoreCopyConsoleUser(NULL, NULL, NULL);

你可以通过参数函数来获取其他信息。