AIR应用程序可以找出它运行的操作系统吗?

时间:2010-01-08 17:36:49

标签: actionscript-3 air

我想知道AIR应用程序是否可以找出它正在运行的操作系统,例如Windows XP,Vista,Mac OS等。还有,它有办法找出当前的OS用户名吗?感谢。

2 个答案:

答案 0 :(得分: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);

使用各种操作系统进行测试,并在生产代码中使用它之前查找是否有任何边缘情况(例如用户名不是用户目录的最后部分的情况 - 我不知道任何情况,但以防万一)。

答案 1 :(得分:2)

检查flash.system.Capabilities - 我相信它有你想要的东西。

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