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