Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2008, 00:20   #1
<Dusha>
 
Аватар для <Dusha>
 
Регистрация: 15.08.2008
Сообщений: 6
По умолчанию Защита от копирования.

Здрасьте!Подскажите пожалуйста,как сделать,чтобы файл нельзя было копировать, но можно было перемещать? Код под Windows, обязательно на с/с++.
#include Товарищи!!!
<Dusha> вне форума Ответить с цитированием
Старый 10.09.2008, 08:54   #2
oleg kutkov
Unix C++ developer
Форумчанин
 
Аватар для oleg kutkov
 
Регистрация: 16.04.2007
Сообщений: 651
По умолчанию

Наверное открою большую тайну, когда скажу, что операция копирования является одной из составляющих перемещения
При перемещении сначала происходит копирование, а потом удаление из исходного места.
Для блокировки файла его нужно занять процессом, открыв этот файл в эксклюзивном режиме, либо же использовать методы MFC класса CFile - LockRange и UnlockRange для блокировки разблокировки.
MSDN в помощь.
oleg kutkov вне форума Ответить с цитированием
Старый 10.09.2008, 23:48   #3
<Dusha>
 
Аватар для <Dusha>
 
Регистрация: 15.08.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от oleg kutkov Посмотреть сообщение
Наверное открою большую тайну, когда скажу, что операция копирования является одной из составляющих перемещения
При перемещении сначала происходит копирование, а потом удаление из исходного места.
Для блокировки файла его нужно занять процессом, открыв этот файл в эксклюзивном режиме, либо же использовать методы MFC класса CFile - LockRange и UnlockRange для блокировки разблокировки.
MSDN в помощь.

Я в курсе про перемещение,я хотел узнать, как оприсать это в компиляторе(код).А что значит занять процессом открыв в эксклюзивном режиме.Может какую-нибудь литературу посоветуете?
И про классы CFile - LockRange и UnlockRange?
#include Товарищи!!!
<Dusha> вне форума Ответить с цитированием
Старый 11.09.2008, 22:24   #4
oleg kutkov
Unix C++ developer
Форумчанин
 
Аватар для oleg kutkov
 
Регистрация: 16.04.2007
Сообщений: 651
По умолчанию

Для открытия файла в эксклюзивном режиме открываем его с помощью функции CreateFile, например вот так:

Код:
CreateFile("c:\1.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, SECURITY_ANONYMOUS, NULL);
третий параметр, здесь, и отвечает за режим открытия файла, вот возможные значения:
0 - эксклюзивный режим, другой процесс не сможет получить доступ к открытому файлу.
0x00000004 - разрешает процессам удалять данный файл.
0x00000001 - разрешает процессам читать из файла
0x00000002 - разрешает процессам записывать в файл

Вся информация взята из MSDN
oleg kutkov вне форума Ответить с цитированием
Старый 15.09.2008, 06:53   #5
<Dusha>
 
Аватар для <Dusha>
 
Регистрация: 15.08.2008
Сообщений: 6
По умолчанию

Спасибо за информацию.
#include Товарищи!!!
<Dusha> вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа готова – пол дела, Главное защита от копирования!.. Игорь22 Общие вопросы Delphi 15 03.02.2015 14:47
Защита диска от копирования NoName_emaNoN Безопасность, Шифрование 15 28.02.2011 19:59
на дисках с Windows есть какая-то защита от копирования? Viteef Windows 1 17.07.2007 05:50
защита приложения от копирования flaxe Общие вопросы Delphi 2 19.11.2006 22:26