Вот есть код такой у меня. Суть его: при открытии программы все файлы на диске должны скрываться, при введении пароля - отрываться. Но. Если прописать путь, например, D:\temp - программа работает. Если сделать так, как я хочу - D:\ - она не компилируется... выдаёт ошибку, что нельзя получить какой-то доступ к D:// System Volume // что-то в этом роде.. Почему так? Как можно это обойти? Мне нужно скрыть именно на всём диске файлы, а не на отдельной папке... То есть, во всех папках, подпапках и тд...
public partial class MainWindow : Window
{
public MainWindow()
{
string[] allfiles = Directory.GetFiles(@"D:\", "*.*", SearchOption.AllDirectories);
foreach (string file in allfiles)
{
File.SetAttributes(file, FileAttributes.Hidden | FileAttributes.System);
}
InitializeComponent();
}
private void pass(bool delattr)
{
if (delattr)
{
string[] allfiles2 = Directory.GetFiles(@"D:\", "*.*", SearchOption.AllDirectories);
foreach (string file2 in allfiles2)
{
FileAttributes attributes = File.GetAttributes(file2);
File.SetAttributes(file2, attributes & ~FileAttributes.System);
File.SetAttributes(file2, attributes & ~FileAttributes.Hidden);
}
}
else
{
MessageBox.Show("Error!");
}
password.Password = "";
}
void button1_Click(object sender, RoutedEventArgs e)
{
pass(password.Password == "12345");
}
}
}