![]() |
|
![]() ![]() ![]() |
|
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
Доброе время суток!
Существует программа, которая должна на время работы блокировать доступ к файлам, чтобы файл могли только читать. (То есть: записывать что-либо в файл, удалять, перезаписывать файл и т.д. нельзя!) - Я попробовал реализовать данное действие при помощи функции: 'sopen()', но проблема в том, что права доступа действуют только на первые 46 файлов, после 46 файла с файлами можно делать что хочешь...
# Задача: На время работы программы, нужно блокировать доступ к файлам. (Количество файлов порядка 100). P.S. -> '#define HANDLE_MAX 200' данная строчка не помогла... =( Это сообщение отредактировал(а) MuForum - 8.2.2008, 00:06 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Можно, например, в OnCreate формы установить атрибут файлов "Только для чтения". А в OnClose - сбросить этот атрибут.
В это тебе поможет:
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#2, artsb - Есть ещё нюанс, мне нужно сделать так, чтобы аттрибуты файлов никакая другая программа не могла изменить!
Это сообщение отредактировал(а) MuForum - 8.2.2008, 00:25 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
По-моему это не реально... Добавлено через 35 секунд А вы попробуйте поставить атрибут "Системный". -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#4, artsb - А кто мешает сделать это например?
Это сообщение отредактировал(а) MuForum - 8.2.2008, 00:26 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
artsb |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Ну это понятно. Я вижу только один вариант - задавать атрибуты в таймере. А что у вас за файлы такие, что им кто-то хочет нагадить? ![]() -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||
|
|||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#6, artsb - Это необходимо для защиты файлов от Клиента одной Online игры.
P.S. -> Игроки заменяют один файл и могут проходить в закрытые зоны. (То есть мне надо это пресекать) - Сделать таймер на проверку каждые 5 минут например глупо. (Так как в этом интервале игрок сможет поменять нужные файлы, и остаться в секретной зоне. Затем сработает таймер и проверка, обнаружиться, что файл был изменен -> Disconnect, и что смысл, если затем этот игрок снова проделает это?!) P.S. -> А ставить проверку каждые 30 секунд например не разумно + Нагрузка на систему... -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
То что нагрузка это точно. И то что глупо - тоже.
Но вы попробуйте всё-таки поставить атрибут "Системный". Может поможет. Добавлено через 3 минуты и 4 секунды Вот ещё нашёл:
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#8, artsb - Не поможет, так как в любой момент кто-то сможет просто сбить настройки файлов... =(
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
А если не говорить клиентам где файлы лежат???
![]() -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#10, artsb - У файлов фиксированная директория, которую я изменять не могу!
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
А если засовывать файлы в архивы с паролем?
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#12, artsb - Не пройдёт, яж уже написал, что файлами ещё пользуется клиент игры, в котором я ничего менять не могу, И перемещать файлы тоже!
P.S. -> Мне нужно сделать просто так, чтобы нужные мне файлы можно было только читать и всё. (И чтобы изменять этот приоритет никакая другая программа пока моя включена не могла!) ------------ В 'VC#' я сделал бы так:
Это сообщение отредактировал(а) MuForum - 8.2.2008, 10:25 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 10 Всего: 95 |
Получается, что этот клиент тоже не сможет записать в свой файл свои данные? -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Кончились handle'ы, sopen перестал открывать файлы
Попробуй открывать файлы с блокировкой через Win32 API:
|
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |