我正在尝试写入具有以下属性的文件 - 隐藏和只读。我的进程应该能够写入,但其他进程具有只读访问权限。
我遵循的程序是:
- 检查文件是否存在
- 删除文件上已有的属性,即隐藏和只读
- 完成写入文件
- 将属性(隐藏和只读)应用回文件
我知道这不是使用文件属性和写入隐藏文件的推荐方法。有没有更好的方法来完成我的任务?
提前致谢。
我正在尝试写入具有以下属性的文件 - 隐藏和只读。我的进程应该能够写入,但其他进程具有只读访问权限。
我遵循的程序是:
我知道这不是使用文件属性和写入隐藏文件的推荐方法。有没有更好的方法来完成我的任务?
提前致谢。
是的,让您的应用程序模拟一个特殊帐户。向该帐户授予对该文件的文件写入权限,并授予对所有其他帐户的读取权限。
在另一个用户的上下文中运行的最简单方法是按 shift 并右键单击 exe 文件,选择“以不同用户身份运行”。
使用 Windows 服务,您可以从服务属性中更改运行帐户。Windows 计划任务也是如此。
要“在流程中间”更改流水账,您需要做更多的工作,找到关于该主题的好文章,例如http://www.codeproject.com/Articles/4051/Windows-Impersonation-using- C. _
正如@Albin 所指出的,解决访问问题的正确方法是使用文件权限,而不是属性。
如果文件被隐藏是因为您不希望用户能够查看其内容,我建议使用简单(相对轻量级)的加密机制将是比隐藏属性更好的解决方案。
请注意,具有足够权限的用户可以关闭隐藏和只读属性。通常任何人都可以在资源管理器中打开“显示隐藏的文件和文件夹”功能。
无需删除 hidden 属性。不过,我不知道只读的其他解决方案。