Заблокировать копирование

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Всем привет! Не знаю в какой форум писать, но такая проблема. Есть папка с файлами, можно ли не дать скопировать ее никуда, ни на компакт диск, ни на другой комп? Как можно такое реализовать?
Zroman
Сообщения: 75
Зарегистрирован: 20 апр 2005, 19:23
Откуда: Киев

В Юниксе или Линуксе с этим проще.
Под виндой возможно, толко оесли она NT-подобная. (NT, 2000, ХР)
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Да-да, она NT подобная ;-) Давай по подробнее
Zroman
Сообщения: 75
Зарегистрирован: 20 апр 2005, 19:23
Откуда: Киев

Я сам с НТ-подобными не работаю (по политическим мотивам ;) ) посему помочь не могу. Знаютолько, что папкам и файлам в НТ можно давать права доступа.
Где-то должны быть форумы по администрированию Виндовс.
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

:) где даются права доступов я знаю, но оно все равно позволяет записать например на CD диск эту папку без спроса.
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
treider
Сообщения: 57
Зарегистрирован: 01 сен 2005, 13:29
Откуда: Алматы
Контактная информация:

Если есть права на чтение, то записать информацию можно куда угодно. Для того, что бы этого избежать нужно написать какойнибудь монитор который будет перехватывать события на запись и блокировать то, что записывать не положено.
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Во-во-во!!! Мыслишь в правильную сторону ;) Где бы такой раздобыть, или как его написать осталось решить :)
treider
Сообщения: 57
Зарегистрирован: 01 сен 2005, 13:29
Откуда: Алматы
Контактная информация:

Задай вопрос в разделе Win API, можно ли повесить что то вроде huk на копирование файла. Я не сталкивался не знаю
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

В 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
Ответить