Почему я получаю сообщения об отказе в доступе к файловой системе, когда являюсь администратором?

1

В одном случае я просто писал тестовое приложение для перечисления всех файлов в моей системе, и я получаю ошибку «Отказано в доступе» для «C: \ Documents and Settings» (которая была возвращена .NET, когда я сказал «дай мне» все подпапки в c: \ ').

Почему это происходит?

К вашему сведению: я использую Windows 7.

Крис
источник

Ответы:

2

c:\documents and settingsна самом деле не существует. Он указывает прямо на \users(на полпути приличный \documents and settings?путь к файлу . Я имею в виду, что они ДУМАЛИ?), Это не реальный путь, а только для соображений совместимости. Вы пытаетесь сохранить файл на c:\documents and settings\username\hello.txt, это будет работать, но это только для совместимости.

Удаление файла с USB-накопителя - это один из тех файлов, которые можно установить только для чтения? Если так, то это?

Phoshi
источник
1
Да, я пытался сказать, что мое приложение действительно получило «c: \ documents and settings», вызвав Directory.GetDirectories (), поэтому я не понимаю, почему API возвращает каталог, который на самом деле не существует. В любом случае, я также получаю такие ошибки при попытке сканирования через другие папки.
Крис
К сожалению, это не единственная ложная папка в файловой системе. Это существует , но едва. Боюсь, это просто то, с чем вам приходится иметь дело. Если API не вернет его, старые программы или программы, которые полагаются на его возвращение, потерпят неудачу, тогда написанные программы могут быть написаны ЛУЧШЕ из-за этого;)
Phoshi
Вы пытались взять на себя владение диска ВСЕ С ?? если вы делаете это и указываете пользователю, что запускаете программу, она не должна получить отказ в доступе.
Майк
NO . Это могло бы быть приемлемо для XP, но Vista / 7 пытается изменить весь we'll always have admin rights!дух. Вы не будете, и если вы не можете написать свою программу, не нуждаясь в них, у вас будет чертовски веская причина.
Фоши
2
@mike - Очень плохой совет, потому что в комментариях больше причин, чем я могу добавить.
MDMarra
1

Я думаю, что бы вы ни пытались написать, что бы вы ни пытались написать, вы должны «взять на себя ответственность» за любой диск / папку, доступ к которым был запрещен. Даже если вы являетесь администратором, если группа администраторов не определена в списке пользователей с доступом, вы все равно не сможете получить доступ к файлу / диску. Просто "Возьми на себя ответственность" за файл, проблема решена. В свойствах папки вы увидите, что у вас нет доступа (группа администраторов), поэтому вам было отказано в доступе к папке / файлу / диску и т. Д.

Вот ссылка: http://www.howtogeek.com/howto/windows-vista/add-take-ownership-to-explorer-right-click-menu-in-vista/

darkstar13
источник