Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Вниз

Отмена удаления   Найти похожие ветки 

 
cok   (2002-03-20 18:11) [0]

Привет Олл!
Подскажите, пожалуйста, как перехватить сообщения удаления моего файла, т.е. как запретить удалять (перемещать и переименовывать) файл?
Заранее благодарен!


 
erik   (2002-03-20 20:41) [1]

Никак. Можно поставит notofication, но только узнаеш что его удалили. Можно держать его открытым, тогда никто не удалит. Можно если у тебя NTFS праба на удаление у всех отобрать.


 
Nebula   (2002-03-21 10:23) [2]

Не пугайте юношу. Можно. Но нужно писать драйвер.


 
cok   (2002-03-22 20:15) [3]

2 Nebula
А у тебя случайно нет исходников?


 
Alex_LG   (2002-03-23 17:32) [4]

по моему проще открыть файл с соответствующими правами доступа:
function FileOpen(const FileName: string; Mode: LongWord): Integer;
где Mode = OF_READ Or OF_SHARE_EXCLUSIVE
тогда никто другой не сможен ни стереть, ни скопировать, ни даже просто прочитать...


 
cok   (2002-03-24 20:54) [5]

2 Alex_LG
Во-первых, не FileOpen , а OpenFile, а во-вторых, эту функцию мне предется запускать из другого приложения (не из того, которое я хочу защитить), и если прогу с этой функцией удалят (себя то она не защищает), то и защита снимется!



 
paul_shmakov   (2002-03-24 21:31) [6]

если необходимо запретить удаление определенной программе, то можно попробовать перехватывать вызовы winapi.
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1014992279&n=2


 
Alex_LG   (2002-03-25 03:10) [7]

1) Windows.OpenFile(FileName,ofStruct,OF_READ Or OF_SHARE_EXCLUSIVE)
2) SysUtils.FileOpen(FileName,OF_READ Or OF_SHARE_EXCLUSIVE)
делают примерно (если не совсем) одно и то же, разве что находятся в разных юнитах - ну и первый вариант чуть-чуть ниже по уровню :0)

далее:
а)не обязательно открывать самое-себя - работает прекрасно открывает ли приложение себя или другое приложение
б)может заодно и себя открыть (впрочем полюбому пока запущено приложение файл его не сотрёшь)
в)если же будут убивать саму защищающую прогу - то всё равно защита падёт: не важно, на "перехватах удаления" эта защита будет построена или нет!


 
erik   (2002-03-25 17:58) [8]

Помоему это вопрос из разряда XXXX. Наверное лучше привети проблему, наверника решение проще чем кажется! Если тебе нужны нестандартные средства под Win95-98. То можно сделать проше, запиши в название хотябы одну букву в нацоннальной кодировке. Например О с двумя точками. Никто неудалит! Запись можно делать по сети с другово компютера где данныя кодовая страница установлена по умолчанию.


 
cok   (2002-03-25 21:00) [9]

Мне нужно так, чтобы файл ваще никак нельзя было удалить(кнопкой дел, из всплывающего меню и даже из Доса (что, наверное, невозможно)).


 
Alex_LG   (2002-03-26 02:37) [10]


> erik © (25.03.02 17:58)
> Помоему это вопрос из разряда XXXX. Наверное лучше привети
> проблему, наверника решение проще чем кажется! Если тебе
> нужны нестандартные средства под Win95-98. То можно сделать
> проше, запиши в название хотябы одну букву в нацоннальной
> кодировке. Например О с двумя точками. Никто неудалит! Запись
> можно делать по сети с другово компютера где данныя кодовая
> страница установлена по умолчанию.

если не ошибаюсь, то и доступа тогда к файлу не будет? ха!



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
14-73376
Михалыч
2002-04-10 16:40
2002.05.23
Для умных


1-73105
BAHO
2002-05-07 00:23
2002.05.23
Расчет времени...


7-73430
Vacheslav
2002-02-25 17:11
2002.05.23
Как обработать событие переключения между приложениями?


1-73303
JC
2002-05-09 00:12
2002.05.23
Создать TComboBox.


3-73054
serg72
2002-04-27 10:19
2002.05.23
ADO (dBase) как создать цифрофое поле определ.размера.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский