Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WinAPI - процессы, работающие с файлом 
:(
    Опции темы
Golden Hands
Дата 11.11.2006, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Золотой
****


Профиль
Группа: Участник Клуба
Сообщений: 2023
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: нет
Всего: 83



Есть ли функция, позволяющая определить, что файл занят каким-то процессом?


--------------------
Мы обречены... но только на победу!
Настанет день, и мы построим новый дом.
Внесем в него тепло, что сохранить сумели,
И воскресим все то, что в нас когда-то умерло... © Тень Света
PM MAIL ICQ   Вверх
skyboy
Дата 11.11.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 2
Всего: 260



что конкретно тебе необходимо? определить, заблокирован ли файл? могу предположить, что в случае блокирования файла isFileWritable вернет 0(не может быть записан). или тебе знать, что какая-то программа получает доступ к файлу(без блокировки)? тогда можно мониторить вызов API-функций доступа к ФС... 
Это так - просто идеи, опыта в этой сфере у меня нет.

Добавлено @ 11:01 
есть функция lockFile которая позволяет часть файла заблокировать от чтения и записи, но блокировки не могут пересекаться! потому, если заблокировать весь файл и функция вернет ошибку, значитуже кто-то заблокировал хоть маленький кусочек и, соотвественно, с файлом кто-то работает...
PM MAIL   Вверх
BUGOR
Дата 11.11.2006, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 2
Всего: 16



Если ты имеешь ввиду открыт каким-то другим приложением, то способ есть, через таблицу хендлов системы узнать можно.


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
Golden Hands
Дата 12.11.2006, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Золотой
****


Профиль
Группа: Участник Клуба
Сообщений: 2023
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: нет
Всего: 83



skyboy, благодарю, использовал LockFile(). 
BUGOR, смысл был в том, чтобы определить наложенную блокировку.


--------------------
Мы обречены... но только на победу!
Настанет день, и мы построим новый дом.
Внесем в него тепло, что сохранить сумели,
И воскресим все то, что в нас когда-то умерло... © Тень Света
PM MAIL ICQ   Вверх
skyboy
Дата 12.11.2006, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 2
Всего: 260



Цитата

skyboy, благодарю, использовал LockFile(). 

пожалуйста smile 
Цитата(BUGOR)

через таблицу хендлов системы узнать можно.

Чуток подробнее можно?
PM MAIL   Вверх
ASGDeveloper
Дата 12.11.2006, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


developer
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 1.4.2006

Репутация: нет
Всего: 1



Цитата(skyboy @  12.11.2006,  11:09 Найти цитируемый пост)
Чуток подробнее можно? 

Нужно юзать ZwQuerySystemInformation.
PM MAIL   Вверх
BUGOR
Дата 12.11.2006, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 2
Всего: 16



Цитата

Чуток подробнее можно?


Тут чуток не получитсяsmile
Лучше прочти вот это: http://wasm.ru/article.php?article=lockfileswork


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
skyboy
Дата 12.11.2006, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 2
Всего: 260



ASGDeveloper, посмотрим
BUGOR, спасибо. чувствую, надо будет wasm поподробнее изучить...
PM MAIL   Вверх
BUGOR
Дата 12.11.2006, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 2
Всего: 16



skyboy, ещё можешь прочесть статью про обнаружение скрытых процессов, там тоже работа с таблицей хэндлов идёт.


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0914 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.