Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отмена удаления


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 праба на удаление у всех отобрать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо