在Haxe中检索标准用户信息

时间:2015-03-20 12:58:48

标签: haxe

我终于有时间开始玩Haxe了,我发现它是一个很棒的概念,但我无法推断出如何获取当前系统用户的名字或“特殊文件夹”位置。

在我的情况下,用户的主文件夹,文档文件夹或更新文件夹。我的目标语言是Java,也许是后来的C#...但我发现没有真正的方法来直接查询系统中的这些信息。到目前为止我所发现的是如何查询环境变量...其中有很多变化。

1 个答案:

答案 0 :(得分:1)

Haxe std lib没有提供这样的特定功能。但是,它并不妨碍我们使用特定于目标的API。

#if java
import java.lang.System;
#elseif cs
import cs.system.Environment;
import cs.system.Environment.Environment_SpecialFolder;
#end
class Test {
    static function main() {
        #if java
            //http://docs.oracle.com/javase/6/docs/api/java/lang/System.html#getProperties%28%29
            trace(System.getProperty("user.home")); //Test.hx:11: C:\Users\Andy
        #elseif cs
            //https://msdn.microsoft.com/en-us/library/system.environment.specialfolder
            trace(Environment.GetFolderPath(Environment_SpecialFolder.UserProfile)); //Test.hx:14: C:\Users\Andy
        #end
    }
}

build.hxml:

-main Test
-java bin
-cmd java -jar bin/Test.jar

--next

-main Test
-cs bin
# Environment_SpecialFolder.UserProfile is available since .net 4.0
-D net-ver=40
-cmd bin\bin\Test.exe