Как определить какой процесс использует текущий файл

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Как определить какой процесс использует текущий файл

Сообщение awl100Alex » 30.05.2009 (Сб) 10:38

Возможно ли это в принципе? Через поиск ничего похожего не нашел, поправьте, если не прав.
Есть такая проблема, которая тянется еще с Win2000 и никак не исправлена в XP SP3 – тоже самое. Если честно, это уже надоело.

Суть проблемы:
После выполнения тех или иных действий с какой-либо папкой и закрыв(!) все окна, пытаясь удалить саму папку (кторая уже НЕ нужна и НЕ используется) довольно часто выскакивает сообщение системы: «Не удается удалить... Объект используется другим пользователем или программой. Закройте все программы, которые используют этот файл и повторите попытку». Тоже самое происходит, если выполнять команду «Вырезать».

Хочу сделать программу, с помощью которой можно было бы определять и «отстреливать» процессы удерживающие данную папку или файл.
Можно ли это сделать?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Как определить какой процесс использует текущий файл

Сообщение MIT » 30.05.2009 (Сб) 11:04

Можно.
Идем сюда, потом сюда.

Ну или же качаем прогу Unlocker.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Gogic
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 24.08.2008 (Вс) 13:19

Re: Как определить какой процесс использует текущий файл

Сообщение Gogic » 30.05.2009 (Сб) 21:22

Есть прекрасная утилита Марка Руссиновича под названием filemon. Думаю, при некоторых манипуляциях с ней возможно достичь желаемого результата.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как определить какой процесс использует текущий файл

Сообщение Хакер » 30.05.2009 (Сб) 21:24

Какие ещё манипуляции со сторонней утилитой, когда даны ссылки на две статьи, описывающие, как желаемое сделать самому?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как определить какой процесс использует текущий файл

Сообщение awl100Alex » 30.05.2009 (Сб) 23:37

MIT
Спасибо за ссылки. Это как раз то, что нужно. Вот только не думал, что сразу столкнусь с таким количеством «пудры» - за один раз «не съесть». :) Довольно сложная тема оказалась и запутанной вдобавок.
В первой статье Максим Павлов пишет, что все не так сложно, нужно перечислить хэндлы файлов, опросить их с помощью ZwQueryInformationFile и т.д., и т.п. Но выше... рассказывает о серьезных проблемах этого способа, если будет выполнятся запрос именованных каналов работающих в блокирующем режиме (мне уже плохо!), опрашивающий поток зависнет и ничего сделать будет нельзя.
Во второй статье, дело дошло уже до ассемблерных процедур и механизмов внедрения наших кодов в чужие процессы. Что-то мне уже совсем нехорошо. :(
Нашатырь... дайте нашатырь!!.. :( Неужели нету способа проще? Афигеть!
С Unlocker раньше пробовал, но он мне не понравился. Почему-то еще больше все зависало.
Ладно, все равно спасибо, буду разбираться, если, конечно, смогу.
Да!.. еще одна досадная деталь: во второй статье пытался скачать пример, но Каспер тут же заблокировал ссылку сообщением, что в файле троян -Trojan.Win32.Agent.adn! :( Жаль, что нельзя скачать пример.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как определить какой процесс использует текущий файл

Сообщение iGrok » 31.05.2009 (Вс) 0:19

awl100Alex писал(а):...
С Unlocker раньше пробовал, но он мне не понравился. Почему-то еще больше все зависало.

Пользуюсь не первый год. Работает как часы. Так что не знаю, чего там у тебя зависало...
label:
cli
jmp label


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 60

    TopList  
cron