![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отмена удаления
cok © (2002-03-20 18:11:00)Привет Олл!
Подскажите, пожалуйста, как перехватить сообщения удаления моего файла, т.е. как запретить удалять (перемещать и переименовывать) файл?
Заранее благодарен!
Alex_LG (2002-03-26 02:37:00) [1]
> erik © (25.03.02 17:58)
> Помоему это вопрос из разряда XXXX. Наверное лучше привети
> проблему, наверника решение проще чем кажется! Если тебе
> нужны нестандартные средства под Win95-98. То можно сделать
> проше, запиши в название хотябы одну букву в нацоннальной
> кодировке. Например О с двумя точками. Никто неудалит! Запись
> можно делать по сети с другово компютера где данныя кодовая
> страница установлена по умолчанию.
если не ошибаюсь, то и доступа тогда к файлу не будет? ха!
cok (2002-03-25 21:00:00) [2]Мне нужно так, чтобы файл ваще никак нельзя было удалить(кнопкой дел, из всплывающего меню и даже из Доса (что, наверное, невозможно)).
erik (2002-03-25 17:58:00) [3]Помоему это вопрос из разряда XXXX. Наверное лучше привети проблему, наверника решение проще чем кажется! Если тебе нужны нестандартные средства под Win95-98. То можно сделать проше, запиши в название хотябы одну букву в нацоннальной кодировке. Например О с двумя точками. Никто неудалит! Запись можно делать по сети с другово компютера где данныя кодовая страница установлена по умолчанию.
Alex_LG (2002-03-25 03:10:00) [4]1) Windows.OpenFile(FileName,ofStruct,OF_READ Or OF_SHARE_EXCLUSIVE)
2) SysUtils.FileOpen(FileName,OF_READ Or OF_SHARE_EXCLUSIVE)
делают примерно (если не совсем) одно и то же, разве что находятся в разных юнитах - ну и первый вариант чуть-чуть ниже по уровню :0)
далее:
а)не обязательно открывать самое-себя - работает прекрасно открывает ли приложение себя или другое приложение
б)может заодно и себя открыть (впрочем полюбому пока запущено приложение файл его не сотрёшь)
в)если же будут убивать саму защищающую прогу - то всё равно защита падёт: не важно, на "перехватах удаления" эта защита будет построена или нет!
paul_shmakov (2002-03-24 21:31:00) [5]если необходимо запретить удаление определенной программе, то можно попробовать перехватывать вызовы winapi.
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1014992279&n=2
cok (2002-03-24 20:54:00) [6]2 Alex_LG
Во-первых, не FileOpen , а OpenFile, а во-вторых, эту функцию мне предется запускать из другого приложения (не из того, которое я хочу защитить), и если прогу с этой функцией удалят (себя то она не защищает), то и защита снимется!
Alex_LG (2002-03-23 17:32:00) [7]по моему проще открыть файл с соответствующими правами доступа:
function FileOpen(const FileName: string; Mode: LongWord): Integer;
где Mode = OF_READ Or OF_SHARE_EXCLUSIVE
тогда никто другой не сможен ни стереть, ни скопировать, ни даже просто прочитать...
cok (2002-03-22 20:15:00) [8]2 Nebula
А у тебя случайно нет исходников?
Nebula (2002-03-21 10:23:00) [9]Не пугайте юношу. Можно. Но нужно писать драйвер.
erik (2002-03-20 20:41:00) [10]Никак. Можно поставит notofication, но только узнаеш что его удалили. Можно держать его открытым, тогда никто не удалит. Можно если у тебя NTFS праба на удаление у всех отобрать.