写入Hidden / ReadOnly文件的推荐方法C#

时间:2012-02-17 17:44:49

标签: c# recommendation-engine file-writing hidden-files

我正在尝试写入具有以下属性的文件 - Hidden和ReadOnly。我的进程应该能够写入它,但其他进程具有ReadOnly Access。

我遵循的程序是:

  1. 检查文件是否存在
  2. 删除文件中的现有属性,即隐藏和只读
  3. 完成写入文件
  4. 将属性(隐藏和只读)应用回文件
  5. 我知道这不是使用文件属性并写入隐藏文件的推荐方法。有没有更好的方法来完成我的任务?

    提前致谢。

3 个答案:

答案 0 :(得分:1)

是的,让您的应用程序冒充特殊帐户。为该文件上的该帐户授予文件写入权限,并读取对所有其他帐户的访问权限。

在另一个用户的上下文中运行的最简单方法是按shift并右键单击exe文件,选择"以不同用户身份运行"。

使用Windows服务,您可以从服务属性更改正在运行的帐户。 Windows计划任务也是如此。

在流程中间更改正在运行的帐户""你需要做更多的工作,找一篇关于这个主题的好文章,比如http://www.codeproject.com/Articles/4051/Windows-Impersonation-using-C

答案 1 :(得分:0)

正如@Albin所说,解决访问问题的正确方法是使用文件权限,而不是属性。

如果由于您不希望用户能够查看其内容而隐藏文件,我建议使用简单(相对轻量级)的加密机制比隐藏属性更好的解决方案。

请注意,具有足够权限的用户可以关闭隐藏和只读属性。通常任何人都可以在资源管理器中打开“显示隐藏文件和文件夹”功能。

答案 2 :(得分:0)

无需删除隐藏属性。不过,我知道没有其他解决方案。