在任何语言的任何Windows版本下编写文件的通用位置

时间:2011-10-19 05:57:54

标签: windows universal

必须在Windows XP下的多台计算机上部署VBA应用程序,我需要在通用位置自动创建特定文件,独立于硬盘驱动器,目录结构,甚至操作系统语言:C驱动器的根目录,即C:\

这很好......直到这些计算机开始迁移到Vista或Windows 7,我发现它不容易在C盘上写入。 什么是可替代的通用可写位置,可以在任何语言版本的Windows下,适用于所有用户?

1 个答案:

答案 0 :(得分:1)

调用Windows API,在相应的计算机上返回SpecialFolder的路径并使用它 - 例如,非常适合

  • CSIDL_COMMON_DOCUMENTS(非特定于用户)
  • CSIDL_COMMON_APPDATA(非特定于用户)
  • CSIDL_APPDATA(用户/应用专用)
  • CSIDL_MY_DOCUMENTS(特定于用户)

Windows API处理您描述的所有内容 - 上述位置可写,适用于所有Windows版本,而不依赖于语言。

对于VBA源代码和示例,请参阅http://www.cpearson.com/excel/SpecialFolders.aspx

对于MSDN参考,请参阅: