有获取应用程序路径数据目录的几种可能的方式:使用%APPDATA%
环境变量 获取“应用程序数据”目录路径的最佳途径?
SHGetFolderPath
- 与
CSIDL_APPDATA
什么是获取路径的最佳途径从一个程序内?当我使用环境变量时是否有任何问题?
哪种方法在XP,Vista和即将推出的版本中最安全?
有获取应用程序路径数据目录的几种可能的方式:使用%APPDATA%
环境变量 获取“应用程序数据”目录路径的最佳途径?
SHGetFolderPath
CSIDL_APPDATA
什么是获取路径的最佳途径从一个程序内?当我使用环境变量时是否有任何问题?
哪种方法在XP,Vista和即将推出的版本中最安全?
我建议致电SHGetFolderPath()
是最合适的,便携的方法;诸如读取环境变量或者(更糟糕的)尝试从注册表中提取它的替代方法可能会在未来使您受到影响。
Raymond Chen has an article解释了为什么从注册表中拉出这样的路径是一个坏主意。在Python
string appDataPath = Environment.SpecialFolder.ApplicationData;
如果你在.NET编程,你可以使用这个在ctypes.windll.shell32.SHGetFolderPathW
返回一个unicode字符串的Unicode文件路径的情况下,而os.environ['APPDATA']
返回一个字节的字符串。
SpecialFolder.ApplicationData是一个枚举,而不是路径。使用Environment.GetFolderPath,如@ jMM的答案中所示 – JulianM 2010-09-02 02:49:28
一个重要的区别:
string appDataPath =
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
你需要使用GetFolderPath方法获得实际的路径Environment.SpecialFolder.ApplicationData只是一个枚举。
如果有人想知道,在Ruby中的命令将如下所示:
appDataPath = ENV['APPDATA']
我读了一篇文章,我之前我做了什么文章告诉我*不*做:) – 2009-01-31 16:54:52