Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.047 c
2-1216645839
antonn
2008-07-21 17:10
2008.08.24
назначить процедуру в событии...


15-1212584346
Andy BitOff
2008-06-04 16:59
2008.08.24
Перестала выключаться машина!


2-1216705735
Vlad Oshin
2008-07-22 09:48
2008.08.24
Смотрел DB.pas (BDS2006). Не понял.


6-1191913609
Motzart_Motzart
2007-10-09 11:06
2008.08.24
Модем


15-1215162423
DN
2008-07-04 13:07
2008.08.24
Что за кодировка?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский