2013-10-26 136 views
0

我想设置一个ini文件作为系统文件,但在此之前我想隐藏它。我想这样做,因为即使他们启用了隐藏文件(以便他们可以看到隐藏的文件),我也不希望任何人能够看到它。但是,当我将该文件设置为隐藏并将其设置为系统时,它将删除隐藏的属性并仅使其成为系统。我也尝试将其设置为手动隐藏,然后通过我的程序设置它,但它不起作用。系统文件属性

我使用的代码只是只是这样的:

File.SetAttributes(settingsDir, FileAttributes.Hidden) 
File.SetAttributes(settingsDir, FileAttributes.System) 

感谢。

回答

1

属性不累加:

File.SetAttributes(settingsDir, FileAttributes.Hidden) 
File.SetAttributes(settingsDir, FileAttributes.System) 

第一组为隐藏,然后系统。做两个:

File.SetAttributes(settingsDir, FileAttributes.Hidden OR FileAttributes.System) 
+0

你必须把或而不是。查看MSDN链接中的示例(http://msdn.microsoft.com/en-us/library/system.io.file.setattributes.aspx)以更好地理解这些想法。默认情况下,在这种使用按位运算符来设置属性的情况下OR是正确的选择(AND意味着给定的属性已经存在)。 – varocarbas

+0

DOH!你是对的 - 我正在考虑可能给出的例子和测试/读取现有属性的例子。谢谢 – Plutonix

+0

谢谢,它现在已经修复。 –