![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чтение в памяти [D7, WinXP]
Асякин © (2004-09-23 18:37:00)Добрый вечер !!!
Я пишу программу по защите файла.
У меня есть зашифрованный файл XXX.dat
В таком состоянии он будет всегда храниться на HDD
Файл блокируется спец. процедурой и не дает доступ к нему никому
Его нельзя прочитать, скопировать, и т.д.
программа не дающая доступ к файлу, и раскодирующая его висит в памяти
Есть программа (например, MyViewer) которая должна просматривать этот файл.
У меня такой вопрос, как сделать так чтобы этот файл открывался только с помощью MyViewer и при этом раскодировался в памяти, потому что на жестком диске его нельзя раскодировать (могут вырубить свет и он останется раскодированным)
Т.е мне надо отследить событие когда к моему файлу обращается нужная прога MyViewer и именно для нее раскодировать в памяти и разблокировать файл, а затем опять его закодировать и заблокировать
помогите мне пожалуйста !!!
Dimaxx (2004-09-24 00:27:00) [1]Функция FileOpen со вторым параметром равным fmShareExclusive ($0010) откроет его так, что никто не сможет с ним ничего сделать пока он не закрыт.
Dimaxx (2004-09-24 00:24:00) [2]Сделай функцию у того модуля, который открывает и блокирует файл. Раз он его открыл, то пусть сам и читает. А никто другой не сможет. Прсто обращаешься к нему и он тебе читает.
Fay (2004-09-23 21:04:00) [3]Что-то типа этого. Лично я не знаю, как после этого его открыть кому-либо другому.
<> := CreateFile('c:\boot.ini', GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, 0);
Асякин (2004-09-23 20:57:00) [4]Не мог бы уточнить как это сделать.
Всмысле как службу написать и как осуществить эксклюзивное открытие файла. Я первый раз слышу о таком !!!
Если можно по подробнее пожалуйста
Fay (2004-09-23 18:39:00) [5]Напиши службу, которая открывает его эксклюзивно.