在Adobe Air中获取当前登录的OS用户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Adobe Air中获取当前登录的OS用户相关的知识,希望对你有一定的参考价值。

我需要在Air / Flex应用程序中当前登录用户的名称。该应用程序将仅部署在Windows计算机上。我想我可以通过重新表达User目录来实现这一点,但可以接受其他方式。

答案

您可以进行几次小清理...

package
{
    import flash.filesystem.File;

    public class UserUtil
    {
        public static function get currentOSUser():String
        {
            var userDir:String = File.userDirectory.nativePath;
            var userName:String = userDir.substr(userDir.lastIndexOf(File.separator) + 1);
            return userName;
        }
    }
}

按照Kevin的建议,使用File.separator进行目录拆分跨平台(仅在Windows和Mac OS X上进行了测试。)>

除非您正在寻找孩子,否则无需使用resolvePath("")

此外,使函数成为适当的getter可以使绑定而无需任何进一步的工作。

在上面的示例中,我将其放入UserUtil类,现在我可以绑定到UserUtil.currentOSUser,例如:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Label text="{UserUtil.currentOSUser}"/> 
</mx:WindowedApplication>
另一答案

也可以尝试:

另一答案

这不是最漂亮的方法,但是如果您知道AIR应用程序只能在Windows环境中运行,那么效果很好:

另一答案

这里是可以在XP / Vista中使用的解决方案,但是肯定可以扩展到OSX,Linux,我仍然对另一种方法感兴趣。

另一答案

稍后更新:实际上有一个内置函数来获取当前用户。我认为它在nativeApplication中。

以上是关于在Adobe Air中获取当前登录的OS用户的主要内容,如果未能解决你的问题,请参考以下文章

Adobe AIR的 - 硬盘上保存图像

Adobe Air Application 如何清除数据?

Adobe AIR 全屏(OS X Mavericks)菜单栏

解决报错:在pycharm中使用os模块获取当前进程id,出现错误:AttributeError: module ‘os‘ has no attribute ‘getgid‘(图文并茂!!!)(代码片

如何运行“ipconfig”并在windows中的adobe AIR中获取输出?

Adobe AIR - 自签名应用程序可以吗?