Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/32: Рейтинг темы: голосов - 32, средняя оценка - 4.81
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,473
Записей в блоге: 3
#1

Как проверить открыт ли файл или нет?

28.10.2011, 16:11. Просмотров 5787. Ответов 13
Метки нет (Все метки)

Здравствуйте!

Ребята подскажите по такому вопросу!

У меня есть файл с расширением csv, так вот этот файл можно открыть различными программами.

Так вот вопрос можно ликак-нить проверить открыт ли файл или нет?

Заранее благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2011, 16:11
Ответы с готовыми решениями:

Как можно проверить двигается мышка или нет?
Как можно проверить двигается мышка или нет?

Как программно проверить, на машине действительно нет инета, или брандмауэр блокирует мою прогу?
При запуске прога должна забрать с сервера файл. При невозможности сего -...

Как мне сделать так, чтобы данный текстовый файл был открыт один раз при запуске программы и закрыт при закрытии программы?
Привет! Возник следующий вопрос. Программа состоит из основного окна Form1 и...

Куда спрятать файл от пользователя, или как запретить удалить файл
Всем доброго времени суток. Кто может подсказать куда можно заныкать файл чтобы...

Спрятать файл от пользователя, или как запретить удалить файл
Кто может подсказать куда можно спрятать файл чтобы его не мог найти...

13
LK
Заблокирован
28.10.2011, 17:01 #2
открыт одновоеменно ?
если он открыт в режиме эксклюзивного доступа, или вообще открыт, должно быть сообщение о невозможности открыть файл, или что он занят другим приложением, имхо
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
28.10.2011, 17:14 #3
Попробовать FileOpen, при невозможности открыть он вернёт -1
0
nick42
Практикантроп
4253 / 2282 / 388
Регистрация: 23.09.2011
Сообщений: 4,876
28.10.2011, 17:18 #4
Вот FileOpen даже с ключами OpenWrite спокойно открывает уже открытый в текстовом редакторе файл, возвращая всегда значение 276; так что этот случай не подходит... .
0
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,473
Записей в блоге: 3
28.10.2011, 18:56  [ТС] #5
Я его открываю и запускаю через функцию ShellExecute().
Цитата Сообщение от LK Посмотреть сообщение
или вообще открыт
открыт какой-либо программой
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
28.10.2011, 19:00 #6
А, в смысле файл открыт другой программой, но к нему есть доступ?
Тогда вариант 2 - получить все открытые файлы в системе
0
LK
Заблокирован
28.10.2011, 19:10 #7
Перехват вызовов API-функций
Перехват операций открытия, создания и удаления файлов
еще, говорят, можно
// Следующий цикл показывает, как можно получать сообщения о изменениях файловой системы:

var
ChangeHandle: THandle;
...

ChangeHandle:= FindFirstChangeNotification(PChar(Тут путь к коталогу),false, hNotifyFilter);

if ChangeHandle <> INVALID_HANDLE_VALUE then
while true do
begin
if WaitForSingleObject(ChangeHandle,500) = WAIT_OBJECT_0 then
begin
// Событие...
end;
FindNextChangeNotification(ChangeHandle);
end;
хотя... гиблое это дело, имхо, когда-то пробовал
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
29.10.2011, 08:06 #8
По моей ссылке выше есть кстати готовый
henum.rar (56 кб) Пример перечисления открытых файлов.
0
LK
Заблокирован
29.10.2011, 08:27 #9
henum.exe - способ хорош, только среди всего этого безобразия я единственного интересовавшего меня открытого файла rtf так и не нашел, хотя, как ни странно для меня самого, искал упорно , все сплошь одни абсолютно не гламурные mui да ui , прости Господи ...
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
29.10.2011, 08:50 #10
Странно, у меня работает. Открыл вордовский файл 1.docx
Как проверить открыт ли файл или нет?
0
LK
Заблокирован
29.10.2011, 18:44 #11
похоже, ему не известны нелатинские буковки
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
30.10.2011, 05:00 #12
Цитата Сообщение от LK Посмотреть сообщение
похоже, ему не известны нелатинские буковки
Это видимо отсутствие русификации консоли. Хотя если сделать henum > test.txt, то вполне адекватно в файле находится \Lena\Автобиография.docx
0
LK
Заблокирован
30.10.2011, 05:39 #13
нема , видать, Вынь7 ему не по зубам.
0
Programmer.
Прогер
631 / 262 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
30.10.2011, 05:41 #14
Sasha,

А CreateMutexEx() не подоидёт?
0
30.10.2011, 05:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2011, 05:41

как проверить есть ли ini файл
Создать програмку в которой при первом запуске еще нет ini файла с настроками.....

Как проверить txt-файл на пустоту?
Как проверить пустой txt файл или нет?

Как проверить файл уже сохранен
Делаю текстовый редактор, сделал обработку закрытия программы int msgboxID =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru