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

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

Как програмно разблокировать файл? (+)


dRake ©   (2007-03-07 21:40:00) 

Нужно экстренно удалить некий файл. Может возникнуть ситуация что он заблокирован (висят открытые хендлы на него)... Как програмно их обрубить (если это вообще возможно на уровне WinAPI) ?


SLoW.AlfaMoon.Com   (2007-03-23 09:08:00) [1]

На самом деле вариантов несколько.
В юзермоде
1. DuplicateHandle с флагом DUPLICATE_CLOSE_SOURCE.
Вариант не пройдет, если установлен флаг ProtectFromClose.
2. Инжект кода, закрывающего хэндл.

Unlocker пользуется драйвером.


dRake   (2007-03-08 03:21:00) [2]

Побродил по инету - нашел програмку Unlocker.
Она занимается сабжем :) Будем изучать....


GrayFace   (2007-03-08 01:53:00) [3]

> Нужно экстренно удалить некий файл
Точно нужно?

Месяц назад была близкая тема: http://www.delphimaster.ru/cgi-bin/forum.pl?id=1170762602&n=5
На wasm.ru кое-что вроде было по сабжу в статьях, но кажется, на уровне драйвера.


Германн   (2007-03-08 00:14:00) [4]

1. Может поможет format C: ? Но в ФСБ сидят не только дураки :)
2. С4 - гарантирует результат! Но возможны жертвы среди мирного населения :)
3. Можно
> на уровне WinAPI
"вырубить" всепроцессы, что даст почти полную гарантию "разблокированности" файла. Но будет ли это "экстренно", это ещё вопрос :)


Наверх

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