2010-09-21 5 views
0

Существует файл, который заблокирован другим процессом для редактирования. Есть ли способ открыть файл в эксклюзивном режиме с помощью программы C?Открыть заблокированный файл в эксклюзивном режиме

+0

Зависит от ОС. –

+0

Вы должны описать ситуацию, когда вы пытаетесь получить доступ к файлу более подробно. Какой файл заблокирован (DLL/EXE или файл с любыми данными)? Зачем вам нужен ** эксклюзивный доступ? Вы хотите, вероятно, что-то сделать с файлом. Что делать (удалить, изменить, заменить, заменить на другой файл и т. Д.)? Нужен ли вам доступ к тому же содержимому файла или вам нужен файл в том же месте, где вам нужен эксклюзивный доступ? В зависимости от ответа вы можете дать вам предложение. Каков процесс блокировки файла (служба, приложение GUI, драйвер)? Можно ли остановить/убить процесс? – Oleg

+0

Это файл данных, который отключен приложением. – Pradeep

ответ

0

Да, убейте другой процесс. Разумеется, ОС не дает возможности открыть заблокированный файл, который полностью превзойдет точку поддержки блокировки.

Fwiw, довольно распространенная ошибка заключается в попытке открыть файл, который другой процесс открыл для записи, и указав только доступ к чтению. Не может работать, другой процесс уже получил доступ на запись. Вы должны указать общий доступ для чтения + записи.

+0

Я не могу убить другой процесс. – Pradeep

+0

Из комментариев выше, я думаю, что невозможно открыть заблокированный файл в эксклюзивном режиме. – Pradeep

+1

@Pradeep: Вы понимаете, что в вашем вопросе есть противоречие? Вы не можете пройти через закрытую дверь, не открывая ее или не разбивая! – Oleg

Смежные вопросы