【问题标题】:Windows "known folders": is there any one of them which is reliably read/write for all users on all versions?Windows“已知文件夹”:是否有任何一个对于所有版本的所有用户都可靠地读/写?
【发布时间】:2011-02-11 07:56:59
【问题描述】:

SHGetKnownFolderPath() 及其同类接受定义为here 的常量之一,返回目录的路径。

我正在寻找这些文件夹之一,它可以被 XP、Vista 和 Windows 7 上的所有用户(包括 LocalSystem)可靠地写入......但我认为我正在脱颖而出。看来,事实上,硬盘驱动器上没有一个位置可以放置文件并确保所有用户都可以在所有这些操作系统版本上写入文件,而无需先摆弄权限。

这是真的吗?

【问题讨论】:

  • 您使用什么语言? C#?

标签: windows file-permissions known-folders


【解决方案1】:

一个选项似乎是FOLDERID_PublicDocuments,另一个可能是FOLDERID_ProgramData。如果有类似的功能,您可以使用它来获取一个文档类型的文件夹(供用户使用)。

编辑:this blog post 可能会对您有所帮助。

【讨论】:

  • 错了;受限用户无法写入。
  • 你确定吗?我刚刚检查了 7 并且每个人都可以写入公共文档。
  • 我刚刚检查了属性中的有效权限选项卡(也在 Windows 7 上),但它不是。
  • 奇怪,我检查了公共文档和 SLaks 是正确的;当我在“有效权限”安全对话框中输入“所有人”时,没有选中任何框。
  • 也许我的搞砸了。
【解决方案2】:

%ALLUSERSPROFILE%

但是,低完整性进程或受限用户无法写入。

【讨论】:

  • 错误;受限用户无法写入。
【解决方案3】:

你是对的;没有这样的文件夹。

您需要自己创建一个。

【讨论】:

  • 如果在所有版本中都没有作为受限用户可以写入的文件夹,那么在没有权限摆弄某些版本的情况下如何做到这一点?
  • @RCIX:起初这似乎有点像一个 catch-22,但我认为 SLaks 是说安装程序(或以非受限或管理员用户身份运行的东西) ) 将需要安排一个具有适当权限的文件夹供每个人写入。
  • 没有测试所有可能性,我无法证明你是对的,但我怀疑这是真的。当然,我可以调整权限,但希望避免这样做。这不是危机。但是当我在搜索这个文件夹时,我被这个认识震惊了:“Windows 硬盘驱动器上真的没有公共位置了”。它曾经是任何人都可以通过拼写错误删除整个操作系统! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 1970-01-01
相关资源
最近更新 更多