2013-06-12 34 views
3

所以我使用java System.getProperties(“user.home”)。这是我遇到的问题,我在需要管理员权限的安装过程中调用它,并且在安装过程中,我需要将一些文件保存在用户的目录中(例如c:\ Users \ myname \ AppData \ Local \ SavedFiles)。问题出现如下图所示的步骤:用于Windows 8的Java System.properties获取登录用户

1)用户mbrando登录8
2)他跑窗口的他会被提示管理员权限登录安装
3)
4),他登录为用户:imadmin
5)安装程序会继续
6)安装程序保存一些文件是本地在C用户:\用户\ imadmin \ AppData的...
,而不是C:\用户\ mbrando \ AppData的

用户的本地主目录是通过调用System.getProperties(“user.home”)获得的。基本上我想知道id我可以得到登录用户的主目录,而不是管理员用户的。任何想法我可以如何使用java System.getProperties获得此?

谢谢。

+1

Windows是一个多用户系统。如果其他用户运行该应用程序会怎样?考虑在第一次运行应用程序时执行此设置。还要注意[在Windows上使用'user.home'的问题](http://stackoverflow.com/questions/585534) - 它可能并不指向任何有用的东西。 – McDowell

回答

0

安装程序实际上由“imadmin”运行。不是mbrando。

+0

是的,这就是发生了什么事。但是有可能获得其他用户的信息(例如他的主目录甚至用户名)吗? – ibaralf