Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];

Вниз

проверка - открыт ли файл другим приложением   Найти похожие ветки 

 
stud ©   (2005-12-19 17:02) [0]

народ, подскажите как проверить открыт ли файл любой другой программой
я использую функцию Openfile/
f_handle:=openfile(pchar(source+"\"+sr.name),buffer,OF_SHARE_EXCLUSIVE);
if (f_handle>0) then
если я с помощью нее открываю файл - то другим программам отказано в доступе.
но если другая программа открыла этот же файл раньше меня - то я все равно могу открыть этот файл.


 
programania ©   (2005-12-19 21:26) [1]

А если
OF_READWRITE+OF_SHARE_EXCLUSIVE


 
fast2   (2005-12-20 14:53) [2]

Исспользуй функцию:
function UseFile(FilePath:string):boolean;
var HFileRes:HFILE;
begin
Result := False;
try
  if not FileExists(FilePath) then Exit;
  HFileRes := CreateFile(Pchar(FilePath),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
  Result  := (HFileRes = INVALID_HANDLE_VALUE);
  if not Result then CloseHandle(HFileRes)
finally
end;
end;

Возврат false - файл не занят. Функция написаная не мной - нарыл где-то на этом форуме. Спасибо автору!


 
Leonid Troyanovsky ©   (2005-12-20 15:47) [3]


> fast2   (20.12.05 14:53) [2]

> Возврат false - файл не занят.


И что это дает?
Сейчас не занят, а в следующий момент занят.
Т.е., не нужно никакой такой функции: нужен файл - открываем,
работаем (закрываем), если отлуп - изучаем причины.

--
Regards, LVT.


 
umbra ©   (2005-12-20 16:08) [4]

в общем случае - никак. если файл кто-то открыл эксклюзивно - тогда Вы его не откроете. НО если это текстовый файл - ничего не гарантируется. некоторые программы ставят лок на него, некоторые - нет.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
1-1133883673
Харько
2005-12-06 18:41
2006.01.08
Тихо шифером шурша....


2-1134580039
гость2
2005-12-14 20:07
2006.01.08
Определить открыто ли popup меню


2-1134849282
pathfinder
2005-12-17 22:54
2006.01.08
Проблема с TThread...


14-1134384980
Piter
2005-12-12 13:56
2006.01.08
Управление клиентом p2p сети Direct Connect (DC), UKC, DC++


2-1135035793
kizam
2005-12-20 02:43
2006.01.08
картинка на RichEdit-e





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский