2010-01-08 44 views

回答

4

由于@TML指出,System.Capabilities.os将让你的操作系统。现在我不知道获取用户名的任何直接方式,但AIR文件类具有userDirectory属性,该属性将为您提供对登录用户主目录的引用。该对象的nativePath应该具有登录用户的名称。

//user directory path normally ends with the user name like 
//xp : C:\Documents and Settings\userName 
//mac : /Users/userName 
//*nix : /home/username or /home/groupname/username 

var os:String = System.Capabilities.os; 
var usr:String = File.userDirectory.nativePath; 
var sep:String = File.separator; 
if(usr.charAt(usr.length - 1) == sep) 
    usr = usr.substring(0, usr.length - 1);//remove trailing slash 
usr = usr.substring(usr.lastIndexOf(sep) + 1); 
trace(usr); 

测试各种操作系统和寻找是否有在生产代码中使用这个(类案件之前的任何边缘情况下,用户名不是用户目录的最后一部分 - 我不知道有任何,只是以防万一)。

2

检入flash.system.Capabilities - 我相信它有你在找的东西。

NOTE:事实上,事实证明这是一个重复的问题:Get Current Operating System In Adobe Air

+0

谢谢。那么当前登录的OS用户呢? – 2010-01-08 18:12:33

+1

我很确定你不能得到那个 - 该信息不应该可用于闪光灯。 – TML 2010-01-08 19:47:59

+0

通过本机进程打开命令行并执行命令echo%username%。得到这个命令的输出:)虽然它不是一个完美的解决方案,但通过这个技巧你可以做到这一点。 – 2011-04-10 15:05:14

相关问题