我正在开发一个跨平台库,旨在从用户的主目录加载配置文件。这个想法是在不编辑代码的情况下自动提供配置参数。
该库可用于桌面应用程序或守护程序/服务。在(我假设)大多数 Unix 环境中,我可以使用 getpwuid()
来获取用户的主目录。在 Windows SO 告诉我 我可以使用 SHGetKnownFolderPath 但它的文档说它只用于桌面应用程序。有没有办法在 Windows 上为运行服务的用户获取此路径?
原文由 ruipacheco 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于控制台应用程序,最简单的方法是检索
USERPROFILE
环境变量或连接HOMEDRIVE
和HOMEPATH
环境变量的值。使用标准库中的
getenv()
函数: https ://msdn.microsoft.com/en-us/library/tehxacec.aspx示例程序:
输出: