Страница 1 из 1
Заблокировать копирование
Добавлено: 25 окт 2005, 14:51
Dr_Grizzly
Всем привет! Не знаю в какой форум писать, но такая проблема. Есть папка с файлами, можно ли не дать скопировать ее никуда, ни на компакт диск, ни на другой комп? Как можно такое реализовать?
Добавлено: 25 окт 2005, 15:30
Zroman
В Юниксе или Линуксе с этим проще.
Под виндой возможно, толко оесли она NT-подобная. (NT, 2000, ХР)
Добавлено: 26 окт 2005, 10:02
Dr_Grizzly
Да-да, она NT подобная ;-) Давай по подробнее
Добавлено: 26 окт 2005, 18:36
Zroman
Я сам с НТ-подобными не работаю (по политическим мотивам

) посему помочь не могу. Знаютолько, что папкам и файлам в НТ можно давать права доступа.
Где-то должны быть форумы по администрированию Виндовс.
Добавлено: 27 окт 2005, 07:41
Dr_Grizzly

где даются права доступов я знаю, но оно все равно позволяет записать например на CD диск эту папку без спроса.
Добавлено: 27 окт 2005, 08:04
treider
Если есть права на чтение, то записать информацию можно куда угодно. Для того, что бы этого избежать нужно написать какойнибудь монитор который будет перехватывать события на запись и блокировать то, что записывать не положено.
Добавлено: 27 окт 2005, 09:17
Dr_Grizzly
Во-во-во!!! Мыслишь в правильную сторону

Где бы такой раздобыть, или как его написать осталось решить

Добавлено: 27 окт 2005, 09:58
treider
Задай вопрос в разделе Win API, можно ли повесить что то вроде huk на копирование файла. Я не сталкивался не знаю
Добавлено: 24 ноя 2005, 01:45
Naeel Maqsudov
В Windows, начиная от Win95 это можно сделать, если зарегистрировать в системе специальный Shell Extention.
Shell Extention - это COM-сервер, который встраивается в Shell (т.е. в проводник Windows) для расширения его функциональности.
(Примеры: дополнительные пункты в локальном меню на файлах определенного типа (RAR, ZIP и др.); Виртуальные папки в пространстве имен Windows (панель управления, корзина, сетевое окружение,... что-то свое...)
Вам нужен COM-сервер, реализующий интерфейс ICopyHook.
Windows сама будет вызывать Вашу DLL, создавать Ваш объект и вызывать в нем метод CopyCallBack. В качестве параметра передаст тип ооперации (copy/delete/move...), а также текущие и будущие имена. Результат выполнения метода показывает разрешена такая операция или нет.
Работающий пример на Delphi есть в книге
Н.З.Елманова, С.В.Трепалин. Delphi 4 Технология COM. М.: Диалог-ИФИ, 1999