Re[2]: Как определить, открыт ли файл ?
От: Andrew S Россия http://alchemy-lab.com
Дата: 22.08.03 03:46
Оценка: +1
Если вы пытаетесь открыть файл с эксклюзивными правами ни запись и чтение и до этого файл уже открыт другим процессом — открываться не должно.

H>Если файл не блокирован процессом, то с ним можно делать всё что угодно.

H>Или надо отслеживать на уровне файловой системы или как-то посмотреть все открутые HANDLE'ы.
H>Как это сделать совершенно не представляю
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Как определить, открыт ли файл ?
От: DemAS http://demas.me
Дата: 21.08.03 13:04
Оценка:
Добрый день.

Есть ли такая возможность ?

У меня есть только один вариант — попробовать записать что-нибудь в него — если вылетит исключение -> открыт. Но это не 100% — й способ.

Заранее благодарен.
... << RSDN@Home 1.1 alpha 1 >>
Re: Как определить, открыт ли файл ?
От: konst  
Дата: 21.08.03 13:09
Оценка:
например, если файл открыт, то его не удастся удалить
Re[2]: Как определить, открыт ли файл ?
От: DemAS http://demas.me
Дата: 21.08.03 13:22
Оценка:
Здравствуйте, konst, Вы писали:

K>например, если файл открыт, то его не удастся удалить


Не факт — откройте текстовый файл блокнотом. И попробуйте его удалить
... << RSDN@Home 1.1 alpha 1 >>
Re[3]: Как определить, открыт ли файл ?
От: Andrew S Россия http://alchemy-lab.com
Дата: 21.08.03 20:59
Оценка:
Что в Вашем понимании означает фраза "открытый файл"?

K>>например, если файл открыт, то его не удастся удалить


DAS> Не факт — откройте текстовый файл блокнотом. И попробуйте его удалить
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re: Как определить, открыт ли файл ?
От: VladFein США  
Дата: 21.08.03 22:00
Оценка:
Здравствуйте, DemAS, Вы писали:
DAS> У меня есть только один вариант — попробовать записать что-нибудь в него — если вылетит исключение -> открыт. Но это не 100% — й способ.

You should attempt to open it with the mode shareExclusive. See docs for CFile::Open(...):
CFile::shareExclusive Opens the file with exclusive mode, denying other processes both read and write access to the file. Construction fails if the file has been opened in any other mode for read or write access, even by the current process.
Re: Как определить, открыт ли файл ?
От: hellas Россия  
Дата: 22.08.03 03:14
Оценка:
Здравствуйте, DemAS, Вы писали:


DAS> Добрый день.


DAS> Есть ли такая возможность ?


DAS> У меня есть только один вариант — попробовать записать что-нибудь в него — если вылетит исключение -> открыт. Но это не 100% — й способ.


DAS> Заранее благодарен.


Если файл не блокирован процессом, то с ним можно делать всё что угодно.
Или надо отслеживать на уровне файловой системы или как-то посмотреть все открутые HANDLE'ы.
Как это сделать совершенно не представляю
This software required Windows 95 or better...
So I installed Linux
Re: Как определить, открыт ли файл ?
От: DemAS http://demas.me
Дата: 22.08.03 07:39
Оценка:
Здравствуйте, DemAS, Вы писали:

Кажется я тут сам кое-что нарыл — FindFirstChangeNotification.
... << RSDN@Home 1.1 alpha 1 >>
Re[2]: Как определить, открыт ли файл ?
От: Dym On Россия  
Дата: 22.08.03 07:46
Оценка:
Здравствуйте, hellas, Вы писали:

H>Если файл не блокирован процессом, то с ним можно делать всё что угодно.

H>Или надо отслеживать на уровне файловой системы или как-то посмотреть все открутые HANDLE'ы.
H>Как это сделать совершенно не представляю

Прочти это
Автор: _cb_
Дата: 20.09.02
.
Описание фунций Zw*** смотри в книге Гарри Нэббета "Windows NT Native API".
Счастье — это Glück!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.