Доброго времени суток, у меня возникла проблема не могу понять как её решить
Мне необходимо что бы программа сканировала носитель проверяя текстовые файлы на доступ например к записи.
У есть код,
StreamWriter AthorizedAccessFile = new StreamWriter("AthorizedAccessFile.log", true);
StreamWriter UnAthorizedAccessFile = new StreamWriter("UnAthorizedAccessFile.log", true);
StreamWriter ErrorLogFile = new StreamWriter("ErrorLogFile.log", true);
foreach (var file in fileWalker.GetFiles())
{
try
{
AthorizedAccessFile.Write(file + "\r\n");
}
catch (UnauthorizedAccessException)
{
UnAthorizedAccessFile.Write(file + "\r\n");
}
catch (Exception ErrorExceptionMessage)
{
ErrorLogFile.Write(ErrorExceptionMessage.ToString() + "\r\r\n");
ErrorLogFile.Close();
continue;
}
}
AthorizedAccessFile.Close();
UnAthorizedAccessFile.Close();
ErrorLogFile.Close();
Console.Write("okOK");
Console.ReadKey();
Если сижу под: скрытой учетной записью администратора (Windows 8.1)
UAC - Выключен.
То все найденные файлы с расширением .txt отправляются в файл : AthorizedAccessFile.log
(некоторые из них действительно доступны для записи.)
Если сижу под: обычным пользователем windows 7 ultimate x64
UAC - Включен.
То все найденные файлы с расширением .txt отправляются в файл : AthorizedAccessFile.log
(на самом деле файлы не доступны, вылазит: Trustedinstaller)
Как быть?
Почему у Microsoft все сделано через анальное отверстие?
Почему просто нельзя сделать, что бы было просто?
Почему на C# я легко могу проверить на доступность файлы например на веб сервере или обработать ошибки веб сервера, а с банальной проверкой файлов на WINDOWS все так сложно?