代码之家  ›  专栏  ›  技术社区  ›  Gerald

在Win7上存储可由多个用户帐户访问和操作的数据文件的好地方是什么?

  •  3
  • Gerald  · 技术社区  · 14 年前

    所以我一直在开发一个包含多个部分的系统,比如一个标准的用户模式应用程序、一个用于internetexplorer的插件和一个Windows服务。我需要能够访问和/或操作同一组数据文件从所有这些部分可能运行在不同的用户帐户。我似乎有点搞不清楚存储这些数据的最佳位置。

    我目前正在使用“所有用户”配置文件下的目录。唯一的问题是,当从本地系统帐户下运行的Windows服务调用SHFileOperation时,似乎无法从该目录中删除文件;我得到一个文件找不到错误。我意识到从Vista开始SHFileOperation就被IFileOperation取代了,我更新了那段代码以使用IFileOperation,它确实在这里工作,但是我想我是否会遇到其他问题。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Kate Gregory    14 年前

    编程数据是一种方法。在我的(相当默认)Windows7安装中,它映射到C:\ProgramData。它不受UAC的保护,所以没人需要提升才能到达。在其中创建一个包含应用程序名称的文件夹,然后离开。%ProgramData%将通过批处理文件等访问它,您应该能够找到它,但是如果您使用本机代码,您可以找到已知的文件夹-CSIDL\u COMMON\u APPDATA,System.Environment.SpecialFolders 在托管代码中-如果它不在该枚举中,那么代码包中就有一个。