Здравствуйте, dimb, Вы писали:
D> Здравствуйте.
D> Пишу небольшое приложение. Одна из функций этого приложения (не самая главная) — это ограничение доступа к определенным файлам. Проблема в том, как это реализовать. Вначале в голову пришла мысль написать небольшое отдельное приложение, которое автоматически бы запускалось при старте Windows; оно бы открывало необходимые файлы с флагом доступа 0 (то есть без FILE_SHARE_READ и FILE_SHARE_WRITE), и держало бы хэндлы этих файлов открытыми до завершения работы Windows. Минус: слишком просто убить этот сервис через Task Manager, таким образом получив доступ к файлам.
...если есть права убивать (админские например), то да, конечно. Обычным пользователям нужно будетискать способ порушить Ваше приложение, TaskMAn им не поможет. Поэтом способ вполне стандартный
D> Другая идея, которая пришла мне в голову — это написать Shell extension, которое бы работало аналогичным образом. Только, насколько я знаю, Windows Shell подключает эти расширения по мере необходимости (то есть, если я напишу Context menu extension, то Explorer не загрузит мою DLL до тех пор, пока пользователь не вызовет контекстное меню).
соотв это будет решение только для приложений "понимающих" shell namespace. FAR без проблем доступится до файла.
D> Хотелось бы узнать, кто что думает по этому поводу, и как еще можно решить эту задачу. Спасибо.
фильтр файловой системы это единственный легальный путь на Windows платформе
... << RSDN@Home 1.1.3 beta 1 >>