На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! user posted image
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Соблюдайте общие правила форума

Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как запустить программу/файл? (и дождаться ее завершения)
5. Как перехватить API-функции, поставить hook? (перехват сообщений от мыши, клавиатуры - внедрение в удаленное адресное прстранство)
... (продолжение следует) ...

Внимание:
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки - бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Rouse_, user posted image Krid

Модераторы: Rouse_, Krid
Страницы: (9) « Первая ... 3 4 [5] 6 7 ... Последняя » все  ( Перейти к последнему сообщению )  
> Запрет на удаление файлов , Как можно отследить удаление файлов через windows
    Цитата Du-Xa @ 21.01.04, 17:16
    xZero: Ну и как? Попробовал?

    Нет! Сессия, блин, в разгаре!!!
      Мужики, чё вы парню все мОзги запарили? ;) Он же говорит - защитить от друзей.
      Делай так! Пишешь малюсенькую программулину, которая просто напросто открывает все твои нужные файлы и постоянно держит их открытыми. Поставь её в автозагрузку или в реестр в Run. При запуске системы твоя прога откроет все твои ценнейшие файлы, и при попытке удалить какой-либо из них, сама система скажет: "Не тронь!". :D
      Проблемы-то нет фактически. ;)
        Да. Вот только что? У меня работает
          Цитата DrUnkard @ 23.01.04, 01:29
          Мужики, чё вы парню все мОзги запарили? ;) Он же говорит - защитить от друзей.
          Делай так! Пишешь малюсенькую программулину, которая просто напросто открывает все твои нужные файлы и постоянно держит их открытыми. Поставь её в автозагрузку или в реестр в Run. При запуске системы твоя прога откроет все твои ценнейшие файлы, и при попытке удалить какой-либо из них, сама система скажет: "Не тронь!". :D
          Проблемы-то нет фактически. ;)

          Во-первых: дело в том, что мы его предупреждали о выборе метода, но он все же пошел этим!
          Во-вторых: а что, если ему надо сберечь очень много файлов, то этот способ несколько извратен! (опять, таки, имхо).
          В-3: конечно, можно прдумать что-ниюудь и по проще!!! Но кому как .... =(
            А если ему надо файлы защитить от удаления, но при этом можно было бы их послушать (мп3-шки) или посмотреть (ави-шки) в плеерах?
              Одно другому не мешает. ;)
              Система запрещает только изменение открытого другим процессом файла и его удаление. А читать ты его можешь хоть сотней разных приложений. :P
                Вы отвлекаеетесь от темы. Раз уже есть код, может всётаки его доделать
                  Цитата DrUnkard @ 23.01.04, 21:26
                  Одно другому не мешает. ;)
                  Система запрещает только изменение открытого другим процессом файла и его удаление. А читать ты его можешь хоть сотней разных приложений. :P

                  Мне надо защитить свои 17Gb музыки. Что мог уже на болванки по скидал, денег больше не осталось.
                  А друзья прийдут через 3 дня. Поэтому проблема для меня глобальна.
                  А в общем на моем винчестере кроме музыки ничего важного уже не осталось.
                  Просто обидно терять, то, что накапливалось годами.
                    Мда, a в формате МР3 - это примерно 2000 песен. Твои друзья не вандалы, случаем? Я бы перед их приходом, просто изъял шнур питания компа, запрятал его на балконе под снег - и спал бы спокойно. :D
                      Пример с DeleteFile() работает, проверенно на примере программкой:
                      AssignFile(f,'file.txt'); ReWrite(f); CloseFile(f); //Создадим файл
                      DeleteFile('file.txt'); //Удалим файл

                      Но в Виндовс (Win98 и WinXP) это не проходит => IMHO, файлы в Винде удаляются по SHFileOperationA(W?) из SHELL32.DLL...

                      Отсюда вопрос: А как паставить хук на нее?

                      Добавлено в :
                      Пример на DeleteFile() работает, бесспорно. Проверено программкой:
                      AssignFile(f,'file.txt'); ReWrite(f); CloseFile(f); // Создадим файл
                      DeleteFile('file.txt'); //Удалим (попытаемся) файл

                      Но в Виндовс (Win98 и WinXP) это не проходит... + Появление характерного окошка (с задержкой на подготовку списка):

                      +-----------------------------+
                      | Удаление: |
                      | |
                      | [..ProgressBar....][Отмена] |
                      +-----------------------------+

                      Наводит на мысль об использовании SHFileOperationA() (SHFileOperationW()?) из SHELL32.DLL. Но только как на нее хук повесить грамотно...
                      Кто подскажет?
                        я пробовал таким же способ как и на DeleteFileA - ничего не выходит
                          Так же не получится - у нее параметры совсем другие! :)
                            Неужели никто ничего умного не добавит? :)
                              У меня даже с этим Rewrite(f); ... DeleteFile("name.txt") все равно ничего не идет. Удаляю что хочу.
                              Думал в Exe не подгружается Dll попробовал загрузить статично. Результат тот же.
                              Одно значит - либо я не то списал(Ctrl+C - Shift+Ins), либо Delphi у меня плохие Dll создает(проверял, отличные dll!). Но описанный выше пример с DeleteFileA ничего не сбережет на моем компьютере!
                              Попробовал даже Sleep(3000); поставить между Close(f) и Deletefile("name.txt") - Файл создается и отлично удаляется!
                              Почему же все-таки у меня не идет, а у всех идет этот пример :blink: :angry: :(
                              Если бы он работал, то этот алгоритм я думаю на многое можно было бы применить!!!
                              Не знаю что добавить. Кто может обьясните, пожалуйста, почему у меня на MsgBox хук ставится а на DeleteFileA нет, хотя не у кого больше проблем нет с этой функцией, кстати и на SHFileOperationA() у меня хук тоже не работает.
                              Гости прийдут сегодня и все!!!
                              Сообщение отредактировано: Du-Xa -
                                Слушай, а ты точно ничего не перепутал? У меня все отлично компилится и работает!
                                Вот исходники и компилированный проект.
                                В сообщении "Не закрывать, пока идет работа!" кнопку Ок не давить, пока удаляешь файлы (т.е. не закрывать). Да чего я объясняю, все итак понятно.

                                Кстати, а как ты хук на SHFileOperationA ставишь? Там же целая структура есть..

                                Кроме того, замечено, что DLL'ка как-то не сразу выгружается: Файл (DLL) не удалялась пару минут...

                                2All: Ну кто же знает, как поставить хук на SHFileOperationA?

                                Добавлено в :
                                Кстати, компилино в Delphi 7...
                                Прикреплённый файлПрикреплённый файлDeleteFileHook.zip (31.53 Кбайт, скачиваний: 180)
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0361 ]   [ 15 queries used ]   [ Generated: 18.07.25, 04:53 GMT ]