Если вы пытаетесь открыть файл с эксклюзивными правами ни запись и чтение и до этого файл уже открыт другим процессом — открываться не должно.
H>Если файл не блокирован процессом, то с ним можно делать всё что угодно. H>Или надо отслеживать на уровне файловой системы или как-то посмотреть все открутые HANDLE'ы. H>Как это сделать совершенно не представляю
Что в Вашем понимании означает фраза "открытый файл"?
K>>например, если файл открыт, то его не удастся удалить
DAS> Не факт — откройте текстовый файл блокнотом. И попробуйте его удалить
Здравствуйте, 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.
DAS> Добрый день.
DAS> Есть ли такая возможность ?
DAS> У меня есть только один вариант — попробовать записать что-нибудь в него — если вылетит исключение -> открыт. Но это не 100% — й способ.
DAS> Заранее благодарен.
Если файл не блокирован процессом, то с ним можно делать всё что угодно.
Или надо отслеживать на уровне файловой системы или как-то посмотреть все открутые HANDLE'ы.
Как это сделать совершенно не представляю
This software required Windows 95 or better...
So I installed Linux
Здравствуйте, hellas, Вы писали:
H>Если файл не блокирован процессом, то с ним можно делать всё что угодно. H>Или надо отслеживать на уровне файловой системы или как-то посмотреть все открутые HANDLE'ы. H>Как это сделать совершенно не представляю