Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не полная блокировка файла


Страницы:   1 2

multiflex ©   (2008-07-16 13:34:00) 

Прошу прощщения, если ранее вопрос обсуждался, но я почемуто не нашол этого. В общем суть: выгружаю файл, запускаю ассоциированное приложения, жду пока отработает, забираю файл назад. Это очень кратко. Проблема в следующем: нужно на время работы запущщеного ПО защитить файл от удаления, но при этом оставить возможность его изменить, если это реально конечно. файлы могут быть абсолютно разными - DOC,BMP,PCB,CDR,psd,...etc.. Както вот думаю сделать так, чтобы приложение не тормознуло при создании файла на этом месте, и при записи... Или всетаки это бред заработавшегося студента? о_О

ЗЫ. Запускать процесс от другого пользователя, предварительно дав ему права доступа NTFS ??? Если да - то покажите как создать пользователя с логином/паролем и назначить права доступа на файл соответственно этому юзеру, я запутался весь =( + к томуже владелец должен быть

ЗЗЫ. Самая суть в том, что доступ к файлу должен получить только созданный мною процесс и никто иначе, так наверно корректнее. Винды XP-2000-Vista (обязательна). Мож внедрить в процесс чонить?? УЖС, помогите плииз!!!


multiflex   (2008-07-18 08:26:00) [1]

понял, пасиб. Лан решил пока решать другие вопросы =) Всем спасибо за уделенное время.


Сергей М.   (2008-07-17 08:51:00) [2]


> MultIfleX


Т.е. библ.модуль в этом процессе твой (подконтролен тебе), а сам процесс не твой, т.е. чужой, т.е. неподконтролен тебе)


Сергей М.   (2008-07-17 08:50:00) [3]


> MultIfleX   (17.07.08 07:26) [18]


Оттого что ты влупил в ВАП процесса чужого(т.е. не твоей разработки) приложения образ своегомодуля (т.е. твоей разработки, и не важно dll он или еще что-то), этот "чужой" процесс "чужого" приложения как были чужими, так они чужими и остались.


Palladin   (2008-07-17 07:36:00) [4]


> оно постороннее, но легко "преобразуется" в СВОЕ внедрением
> в память СВОЕГО кода

а?


MultIfleX   (2008-07-17 07:26:00) [5]


> я так и не понял - твой процесс и есть ассоциированное приложение?
> или оно постороннее, которое ты запускаешь? как - вручную
> или тем самым своим процессом?

бррр, пшш... мозг лопнул..
оно постороннее, но легко "преобразуется" в СВОЕ внедрением в память СВОЕГО кода, при необходимости.


Игорь Шевченко   (2008-07-16 20:17:00) [6]


> просто наверно под конец дня запарился не один я =(


группа по предварительному сговору - отягчающее обстоятельство. Если ты пишешь DLL, то процесс все равно один - твой


Правильный$Вася   (2008-07-16 17:30:00) [7]

я так и не понял - твой процесс и есть ассоциированное приложение?
или оно постороннее, которое ты запускаешь? как - вручную или тем самым своим процессом?


multiflex   (2008-07-16 17:27:00) [8]


> то "запускаю ассоциированное приложение", то "только мой
> процесс"

Все очень просто, попробую сказать не булькая:
1. Да, запускаю, и предельно рад этому =)))))))
2. "только мой процесс" - ну а какже, если я к созданому процессу прилинкую DLL, и буду писать для нее код, это разве уже будет не мой процесс, а? Я ж писал, имхо довольно внятно, просто наверно под конец дня запарился не один я =(

Итак ждем ваши советы !


multiflex   (2008-07-16 17:24:00) [9]


> Рискну протелепатировать насчет ингредиентов:

Да,  именно так, телепатор не плох, хотя в принципе из всей белиберды выше сказанной мной наверно чтото было ясно, раз он смог "зацепиться" )), пусть в полях, может и с сетевого хранилища гружу - в принципе не суть важно. Вот к примеру и вправду боюсь (хотя скорее небольшое предостережение, т.к. кто редактировал и когда будет ясно, просто не хотелось бы чтобы это сделало чье либо написанное во вред ПО). Какие рекомендации сможете дать по этому поводу?


> ps я ждал объясненийот автора, а то онтаки не научится внятно
> говорить, только булькать

Вах, дарогой Васёк, абижаэш!!! Ну перетрудился я маласть, в запарке молю, чо так невежественно к людям относиться, тем более с которыми лично не знаком? Не хорошо...


Правильный$Вася   (2008-07-16 16:12:00) [10]


> Рискну протелепатировать насчет ингредиентов:

это и я допетрил
но причем тут другой пользователь и ассоциированное приложение, которое "только мой процесс"?

ps я ждал объясненийот автора, а то онтаки не научится внятно говорить, только булькать


Сергей М.   (2008-07-16 16:07:00) [11]


> винегрет какой-то


Рискну протелепатировать насчет ингредиентов:

1. Содержимое вожделенных файлов хранится в виде blob-полей каких-то таблиц некоей БД

2. Автор в процессе своего приложения тащит эти блобы, сохраняет в виде отдельных файлов на каком-либо томе, доступном другим процессам, затем открывает и редактирует эти файлы обычным образом, боясь при этом, что какой-то другой процесс в этот момент займется тем же самым с этими файлами вплоть до их удаления


Правильный$Вася   (2008-07-16 15:46:00) [12]

ниче не понял
то "запускаю ассоциированное приложение", то "только мой процесс"
то файл, то БД
то другой пользователь
винегрет какой-то...


Сергей М.   (2008-07-16 14:53:00) [13]


> прога должна при необходимости давать редактировать содержащийся
> в БД файл


Давать кому?

И что значит "содержащийся в БД файл" ? В какой БД и в каком виде он содержится на момент попытки его редактирования кем/чем бы то ни было ?


Игорь Шевченко   (2008-07-16 14:51:00) [14]


> пусть удаляет его если хочет, но тока мой процесс, а не
> левый.


вообще без SHARE открывай и делай с ним, что хошь


MultIfleX   (2008-07-16 14:48:00) [15]


>Renegat [6]

в первом посте все описал, прога должна при необходимости давать редактировать содержащийся в БД файл, при этом исключая вмешательство левых приложений. ПРО УДАЛЕНИЕ Я ПЕРЕГНУЛ- пусть удаляет его если хочет, но тока мой процесс, а не левый.


> clickmaker ©   [7]

не пробывал пока, а что будет если запущщеный процесс вздумает его удалить перед перезаписью (проги всякие бывают) - чувствую он дико обломается.


clickmaker   (2008-07-16 14:41:00) [16]

> нужно на время работы запущщеного ПО защитить файл от удаления

CreateFile без флага FILE_SHARE_DELETE, но с флагами READ/WRITE разве не помогает?


Renegat   (2008-07-16 14:27:00) [17]

Ты определись: чтос этим файлом разрешено делать стороннему, т.е. не-твоему, процессу? И вообще, что именно ты хочешь таким путём реализовать (а вдруг есть для этого и менее зверские методы ;D)?


MultIfleX   (2008-07-16 14:26:00) [18]

Может же приложение резервировать файл для себя каким либо образом, чтобы ему можно было все - а другим нельзя?? Чтото такое было...


MultIfleX   (2008-07-16 14:21:00) [19]

ну блин, хрен знает. ну ладно, упростимся, я создаю процесс.... прилинковываю библиотеку,.... что мне в ней написать чтобы файл нельзя было удалить??? Или опять бред?? Может его открыть с каким либо параметром?


Renegat   (2008-07-16 14:06:00) [20]

А как это стыкуется с
> доступ к файлу должен получить только созданный мною процесс и никто иначе

?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо