Проблема с чтением файлов C#
Проблема в том что в системе есть заблокированные файлы, которые открыть не удается. Делаю через:
FileStream fs = File.OpenRead(path);
Методом тыка получилось что данный способ позволяет открыть самое большое количество файлов в Windows папке.
Однако например файлы (система Windows Vista):
c:\windows\Debug\WIA\wiatrace.log
c:\windows\Debug\PASSWD.LOG
программа тоже пропускает, при попытке открыть, срабатывает эксепшен что файл занят другим процессом, но при этом они спокойно открываются для чтения в том же самом блокноте. Возможно ли сделать чтобы данные файлы тоже не пропускались и анализировались? Суммарно всего получается около 100 файлов которые программа пропускает во всей папке windows со всеми подкаталогами, но это очень много, по настоящему блокированных файлов гораздо меньше.
Код:
FileStream fs = new FileStream(@"C:\SYSTEM\WindowsUpdate.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Цитата: bagie2
Код:
FileStream fs = new FileStream(@"C:\SYSTEM\WindowsUpdate.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Спасибо. С такими атрибутами и правда работает гораздо лучше.
Еще такой вопрос. Вот у нас есть exeшник, смысл, что при его первом запуске он должен записать некоторую инфомрацию о себе в себя. Возможно ли исхитриться и открыть запущенный exe чтоб дописать в него несколько байт, не создавая копий и врменных файлов. Язык тот же C#. Точно могу сказать что на С++ исхитряются это делать.