Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Заблокирован
1

Защита файлов?

21.04.2014, 08:50. Просмотров 1078. Ответов 7
Метки нет (Все метки)

В операционной системе Windows XP есть скрытая папка dllcache объёмом
более 400 МБ. Она содержит системные файлы. Если вы случайно удалите,
переместите, переименуете (в другой папке) такой файл, то ОС восстановит
их вновь на прежнем месте, используя копию в папке dllcache.
Я тоже захотел сделать нечто подобное. Например задать две папки A и B.
Папка B должна содержать копии всех файлов папки A. И в случае удаления
файла из папки A, он должен восстановиться из папки B.
Логика предполагаемого решения: допустим из папки A один файл исчез.
Как мы это узнаем? Значит надо на форму поставить таймер, который будет
время от времени (например раз 5-10 секунд, зачем чаще?) проверять
наличие файлов по списку, который будет "предоставлен" папкой B.
Для упрощения не обязательно проверять полного соответствия файлов.
Пропал один (нет его) - надо восстановить. Как это сделать? Сие мне неведомо!
Мне ещё не приходилось программировать в этой области знаний.
Буду рад любой подсказке. Полагаю, что сам все сделаю. Но помогите
сделать первый шаг в правильном направлении.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2014, 08:50
Ответы с готовыми решениями:

Защита файлов
Я хочу в Delphi Borland 7 организовать функцию зашиты фалов к примеру HOSTS ( как например...

Защита файлов
В общем сделал админку для сайта, проверяю авторизован ли пользователь вот так:...

Защита файлов
Вечер добрый! Предыстория: есть несколько файлов. они заархивированы под паролем(каждый файл в...

Защита файлов
Есть программа, которая поверх всех окон, она не дает остальным программам работать, пока пароль не...

7
314 / 250 / 63
Регистрация: 07.04.2014
Сообщений: 1,544
21.04.2014, 08:53 2
Пропал один (нет его) - надо восстановить. Как это сделать?
Скопировать нужный файл в целевую папку из папки хранения резервных копий.
0
Заблокирован
21.04.2014, 09:30 3
Лучший ответ Сообщение было отмечено gehh как решение

Решение

Ну как-то так, если по колхозному
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Timer1_Timer()
Dim fa As String, fb As String, attr As Integer
fb = Dir("c:\b\*.*", vbHidden + vbReadOnly + vbSystem + vbArchive)
While fb <> ""
  On Error Resume Next
    attr = GetAttr("c:\a\" & fb)
    If Err Then
    'файл пропал, копируем
      FileCopy "c:\b\" & fb, "c:\a\" & fb
    Else
      If FileDateTime("c:\b\" & fb) <> FileDateTime("c:\a\" & fb) Then
      'файл изменен, восстанавливаем
        SetAttr "c:\a\" & fb, 0
        Kill "c:\a\" & fb
        FileCopy "c:\b\" & fb, "c:\a\" & fb
      End If
    End If
  On Error GoTo 0
  fb = Dir
Wend
End Sub
1
Модератор
8098 / 3035 / 806
Регистрация: 22.02.2013
Сообщений: 4,326
Записей в блоге: 78
21.04.2014, 11:15 4
Нужно его восстанавливать при обращении к нему, зачем раньше? Чтобы файл не пропадал во время работы его нужно открыть.
0
Модератор
6403 / 2502 / 480
Регистрация: 24.04.2011
Сообщений: 4,532
Записей в блоге: 10
21.04.2014, 11:21 5
Лучший ответ Сообщение было отмечено gehh как решение

Решение

Цитата Сообщение от gehh Посмотреть сообщение
первый шаг в правильном направлении.
А если не исчез, а его заменили, исправили, подменили фейком?
Вообще таймер там не нужен. Как говорится - всё уже придумали за нас. Есть в Винде замечательная вещь, которая следит за всеми изменениями файлов в любой папке, или даже на всём диске, какой ей укажете. Называется ReadDirectoryChangesW. Подробности в MSDN, но будет трудно общайтесь, есть примеры использования.
3
Заблокирован
21.04.2014, 13:32 6
Цитата Сообщение от Pro_grammer Посмотреть сообщение
будет трудно общайтесь, есть примеры использования.
..подскажите пожалуйста примерчик, мне это конечно не срочно, но вдруг пригодиться
не хотелось бы ставить таймеры у себя в программе
0
Модератор
8098 / 3035 / 806
Регистрация: 22.02.2013
Сообщений: 4,326
Записей в блоге: 78
21.04.2014, 14:05 7
Смысл мониторинга папки? Достаточно открыть файл и все.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Option Explicit
 
Dim fNum As Integer
 
Private Sub Form_Load()
    fNum = FreeFile
    
    Open "D:\Temp\Tolik.txt" For Binary As fNum
    
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    Close fNum
End Sub
Добавлено через 6 минут
http://vbcity.com/cfs-filesyst... angesW.txt
1
Модератор
6403 / 2502 / 480
Регистрация: 24.04.2011
Сообщений: 4,532
Записей в блоге: 10
21.04.2014, 15:56 8
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
подскажите пожалуйста примерчик,
Человек же сказал, что сам хочет написать? зачем же ему весь кайф ломать. Тем более, что желающие всегда могут воспользоваться поиском, примеры на Vb6 есть в сети.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2014, 15:56

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Защита файлов
Приветствую! С каждым годом все больше работ сделанные мною выливаются в сеть в различные...

Защита файлов от копирования
Здравствуйте такой вопрос - как защитить файлы в планшете от копирования в другие устройства и...

Защита tpl файлов
Подскажите пожалуйста как защитить файлы шаблона от прямого вызова ?

Защита файлов и папки
скачал и установил программу folder clock 7.x.x. с ключом но буквально через минуту ключ вылетает,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.