我正在使用moonscript并寻找一种解决方案,该解决方案将使用在系统(非当前用户)中注册的帐户用户名来帮助获取桌面文件夹路径。如果用户更改桌面位置会怎样管理员的特权适用。有人面对这个吗?任何想法都赞赏。
答案 0 :(得分:0)
嗯...
你试过os.getenv("CSIDL_DESKTOPDIRECTORY")
吗?
它应该根据technet @ microsoft [1]
使用某种Lua Windows注册表API [2]尝试阅读Windows注册表(HKCU>软件> Microsoft> Windows> CurrentVersion> Explorer>用户外壳文件夹>桌面)的方式会更加肮脏]
[1] http://technet.microsoft.com/en-us/library/cc749104(v=ws.10).aspx
答案 1 :(得分:0)
好的,我想我找到了解决方案。
PS:这不适用于内置帐户。
答案 2 :(得分:0)
首先需要枚举用户个人资料的位置。可以在HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList \ S-1-5-21-xxx:ProfileImagePath中找到配置文件的路径。 S-1-5-21-xxx表示相关用户的SID。
然后,您需要从该配置文件路径加载ntuser.dat,最后获取桌面文件夹的User Shell Folder注册表值。