Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
ВнизНе полная блокировка файла Найти похожие ветки
← →
multiflex (2008-07-16 13:34) [0]Прошу прощщения, если ранее вопрос обсуждался, но я почемуто не нашол этого. В общем суть: выгружаю файл, запускаю ассоциированное приложения, жду пока отработает, забираю файл назад. Это очень кратко. Проблема в следующем: нужно на время работы запущщеного ПО защитить файл от удаления, но при этом оставить возможность его изменить, если это реально конечно. файлы могут быть абсолютно разными - DOC,BMP,PCB,CDR,psd,...etc.. Както вот думаю сделать так, чтобы приложение не тормознуло при создании файла на этом месте, и при записи... Или всетаки это бред заработавшегося студента? о_О
ЗЫ. Запускать процесс от другого пользователя, предварительно дав ему права доступа NTFS ??? Если да - то покажите как создать пользователя с логином/паролем и назначить права доступа на файл соответственно этому юзеру, я запутался весь =( + к томуже владелец должен быть
ЗЗЫ. Самая суть в том, что доступ к файлу должен получить только созданный мною процесс и никто иначе, так наверно корректнее. Винды XP-2000-Vista (обязательна). Мож внедрить в процесс чонить?? УЖС, помогите плииз!!!
← →
Renegat (2008-07-16 13:57) [1]А если в самом начале работы тупо сбросить дамп файла в память, а при окончании - восстановить?
← →
Smile (2008-07-16 14:04) [2]
> Renegat (16.07.08 13:57) [1]
А как быть с
> при этом оставить возможность его изменить
← →
Renegat (2008-07-16 14:06) [3]А как это стыкуется с
> доступ к файлу должен получить только созданный мною процесс и никто иначе
?
← →
MultIfleX (2008-07-16 14:21) [4]ну блин, хрен знает. ну ладно, упростимся, я создаю процесс.... прилинковываю библиотеку,.... что мне в ней написать чтобы файл нельзя было удалить??? Или опять бред?? Может его открыть с каким либо параметром?
← →
MultIfleX (2008-07-16 14:26) [5]Может же приложение резервировать файл для себя каким либо образом, чтобы ему можно было все - а другим нельзя?? Чтото такое было...
← →
Renegat (2008-07-16 14:27) [6]Ты определись: что с этим файлом разрешено делать стороннему, т.е. не-твоему, процессу? И вообще, что именно ты хочешь таким путём реализовать (а вдруг есть для этого и менее зверские методы ;D)?
← →
clickmaker © (2008-07-16 14:41) [7]> нужно на время работы запущщеного ПО защитить файл от удаления
CreateFile без флага FILE_SHARE_DELETE, но с флагами READ/WRITE разве не помогает?
← →
MultIfleX (2008-07-16 14:48) [8]
>Renegat [6]
в первом посте все описал, прога должна при необходимости давать редактировать содержащийся в БД файл, при этом исключая вмешательство левых приложений. ПРО УДАЛЕНИЕ Я ПЕРЕГНУЛ - пусть удаляет его если хочет, но тока мой процесс, а не левый.
> clickmaker © [7]
не пробывал пока, а что будет если запущщеный процесс вздумает его удалить перед перезаписью (проги всякие бывают) - чувствую он дико обломается.
← →
Игорь Шевченко © (2008-07-16 14:51) [9]
> пусть удаляет его если хочет, но тока мой процесс, а не
> левый.
вообще без SHARE открывай и делай с ним, что хошь
← →
Сергей М. © (2008-07-16 14:53) [10]
> прога должна при необходимости давать редактировать содержащийся
> в БД файл
Давать кому ?
И что значит "содержащийся в БД файл" ? В какой БД и в каком виде он содержится на момент попытки его редактирования кем/чем бы то ни было ?
← →
Правильный$Вася (2008-07-16 15:46) [11]ниче не понял
то "запускаю ассоциированное приложение", то "только мой процесс"
то файл, то БД
то другой пользователь
винегрет какой-то...
← →
Сергей М. © (2008-07-16 16:07) [12]
> винегрет какой-то
Рискну протелепатировать насчет ингредиентов:
1. Содержимое вожделенных файлов хранится в виде blob-полей каких-то таблиц некоей БД
2. Автор в процессе своего приложения тащит эти блобы, сохраняет в виде отдельных файлов на каком-либо томе, доступном другим процессам, затем открывает и редактирует эти файлы обычным образом, боясь при этом, что какой-то другой процесс в этот момент займется тем же самым с этими файлами вплоть до их удаления
← →
Правильный$Вася (2008-07-16 16:12) [13]
> Рискну протелепатировать насчет ингредиентов:
это и я допетрил
но причем тут другой пользователь и ассоциированное приложение, которое "только мой процесс"?
ps я ждал объясненийот автора, а то онтаки не научится внятно говорить, только булькать
← →
multiflex (2008-07-16 17:24) [14]
> Рискну протелепатировать насчет ингредиентов:
Да, именно так, телепатор не плох, хотя в принципе из всей белиберды выше сказанной мной наверно чтото было ясно, раз он смог "зацепиться" )), пусть в полях, может и с сетевого хранилища гружу - в принципе не суть важно. Вот к примеру и вправду боюсь (хотя скорее небольшое предостережение, т.к. кто редактировал и когда будет ясно, просто не хотелось бы чтобы это сделало чье либо написанное во вред ПО). Какие рекомендации сможете дать по этому поводу?
> ps я ждал объясненийот автора, а то онтаки не научится внятно
> говорить, только булькать
Вах, дарогой Васёк, абижаэш!!! Ну перетрудился я маласть, в запарке молю, чо так невежественно к людям относиться, тем более с которыми лично не знаком? Не хорошо...
← →
multiflex (2008-07-16 17:27) [15]
> то "запускаю ассоциированное приложение", то "только мой
> процесс"
Все очень просто, попробую сказать не булькая:
1. Да, запускаю, и предельно рад этому =)))))))
2. "только мой процесс" - ну а какже, если я к созданому процессу прилинкую DLL, и буду писать для нее код, это разве уже будет не мой процесс, а? Я ж писал, имхо довольно внятно, просто наверно под конец дня запарился не один я =(
Итак ждем ваши советы !
← →
Правильный$Вася (2008-07-16 17:30) [16]я так и не понял - твой процесс и есть ассоциированное приложение?
или оно постороннее, которое ты запускаешь? как - вручную или тем самым своим процессом?
← →
Игорь Шевченко © (2008-07-16 20:17) [17]
> просто наверно под конец дня запарился не один я =(
группа по предварительному сговору - отягчающее обстоятельство. Если ты пишешь DLL, то процесс все равно один - твой
← →
MultIfleX (2008-07-17 07:26) [18]
> я так и не понял - твой процесс и есть ассоциированное приложение?
> или оно постороннее, которое ты запускаешь? как - вручную
> или тем самым своим процессом?
бррр, пшш... мозг лопнул..
оно постороннее, но легко "преобразуется" в СВОЕ внедрением в память СВОЕГО кода, при необходимости.
← →
Palladin © (2008-07-17 07:36) [19]
> оно постороннее, но легко "преобразуется" в СВОЕ внедрением
> в память СВОЕГО кода
а?
← →
Сергей М. © (2008-07-17 08:50) [20]
> MultIfleX (17.07.08 07:26) [18]
Оттого что ты влупил в ВАП процесса чужого (т.е. не твоей разработки) приложения образ своего модуля (т.е. твоей разработки, и не важно dll он или еще что-то), этот "чужой" процесс "чужого" приложения как были чужими, так они чужими и остались.
← →
Сергей М. © (2008-07-17 08:51) [21]
> MultIfleX
Т.е. библ.модуль в этом процессе твой (подконтролен тебе), а сам процесс не твой, т.е. чужой, т.е. неподконтролен тебе)
← →
multiflex (2008-07-18 08:26) [22]понял, пасиб. Лан решил пока решать другие вопросы =) Всем спасибо за уделенное время.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.045 c