|
Платные хостинги
Раскрутка сайта
Книги по программированию
как проверить фаил на его занятость системой, как проверить фаил на его занятость сист
- как проверить фаил на его занятость системой?
- Попробовать открыть его в монопольном режиме... или удалить
- Или позвонить ему на мобилу и если гудки то значит занят.
- Если номер знаешь..
- На самом деле вопрос интересный. Действительно ли надо открывать файл чтобы узнать его занятость. Я думаю что нет и уверенность основывается на следующий фактах:1) Сама ось то знает об этом, следовательно список где-то хранится, наверняка есть методы чтобы его выцепить2) Я видел программы, которые выдают список заблокированных файлов - уж не пробуют же они открыть все файлы на моем диске чтобы определитсяТак что вопрос остается открытым.
- Я где-то видел пример того как опредилить занят фаил или нет но забыл где
- Вот, что я нашёл:Function ApplicationUse(fName : string ) : boolean; var HFileRes : HFILE; begin Result := false; if not FileExists(fName) then exit; HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); if not Result then CloseHandle(HFileRes); end; procedure TForm1.Button1Click(Sender: TObject); begin if ApplicationUse('c:\project1.exe') then ShowMessage('Application in use') else ShowMessage('Application not in use'); end;
- Я же сказал: "попробовать открыть в монопоьном режиме". Я не пошутилПоследний пример это не что иное. Можно ещё с TFileStream
- Я понимаю что ты не шутил, я именно так и поступаю, когда мне надо определить, например, когда внешняя программа закончит работать с файлом. Но может можно как-нибудь извлечь из вамой оси список открытых файлов?
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|