Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2009, 09:55   #1
pautina
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 32
По умолчанию Открыть занятый файл

Здравствуйте Уважаемое сообщество, как открыть файл занятый другим приложением.
pautina вне форума Ответить с цитированием
Старый 27.01.2009, 10:12   #2
Zerone
++
Пользователь
 
Регистрация: 26.01.2009
Сообщений: 92
По умолчанию

Действует механизм блокировок, требуется этот файл разблокировать.
Очень удобный инструмент- Unlocker http://soft.softodrom.ru/ap/p6411.shtml
ITIL/ITSM
Zerone вне форума Ответить с цитированием
Старый 27.01.2009, 10:21   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от pautina Посмотреть сообщение
Здравствуйте Уважаемое сообщество, как открыть файл занятый другим приложением.
легальных способов нет, способы есть но это уже считается хакингом
хорошая статья про работу с занятыми файлами

Последний раз редактировалось rpy3uH; 27.01.2009 в 10:23.
rpy3uH вне форума Ответить с цитированием
Старый 27.01.2009, 10:56   #4
pautina
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 32
По умолчанию

У меня есть такой участок кода.
Код:
procedure TForm1.Button1Click(Sender: TObject);

var SourceST,DestST:TStringList;
    i:integer; handle:integer;
    FS: TFileStream;

    s:string;
begin
 SourceST:=TStringList.Create;
 DestST:=TStringList.Create;
 if form1.OpenDialog1.Execute then SourceST.LoadFromFile(form1.OpenDialog1.FileName);

 // FileSetAttr('C:\Documents and Settings\ñåðãåé\Ðàáî÷èé ñòîë\Çàäàíèå\logfile.txt', faReadOnly);  // Àòðèáóòû äëÿ ôàéëà òîëüêî ÷òåíèå
  Handle := FileOpen('C:\Documents and Settings\ñåðãåé\Ðàáî÷èé ñòîë\Çàäàíèå\logfile.txt', fmOpenRead );
  FS:= TFileStream.Create('C:\Documents and Settings\ñåðãåé\Ðàáî÷èé ñòîë\Çàäàíèå\logfile.txt', fmShareDenyNone);

 for i:=0 to SourceST.Count-1 do
 begin

 // try     // Âûâîä ÷èñåë
 //   if pos('|',SourceST[i])<>0 then // Åñëè ñòðîêà ñ ðàçäåëèòåëåì | íàéäåíà
 //   SourceST[i]:=Copy(SourceST[i],Length(SourceST[i])-47,48)
 //   else SourceST[i]:=Copy(SourceST[i],Length(SourceST[i])-47,1); // Åñëè ñòðîêà ñ ðàçäåëèòåëåì íå íàéäåíà òî ñòðîêà ñîñòîèò èç ïðîáåëà
 //   DestST.Add(SourceST[i]);   // Âûâîä ÷èñåë

 // except
 // end;

  try
    // Âûâîä âðåìåííûõ ìåòîê
    if pos(':',SourceST[i])<>0 then // Åñëè ñòðîêà ñ : íàéäåíà
    SourceST[i]:=Copy(SourceST[i],Length(SourceST[i])-19,20)
    else
    // Âûâîä ÷èñåë
     if ((pos('|',SourceST[i])<>0) and ((pos('1',SourceST[i])<>0)
         or (pos('2',SourceST[i])<>0) or (pos('3',SourceST[i])<>0)
         or (pos('4',SourceST[i])<>0) or (pos('5',SourceST[i])<>0)
         or (pos('6',SourceST[i])<>0) or (pos('7',SourceST[i])<>0)
         or (pos('8',SourceST[i])<>0) or (pos('9',SourceST[i])<>0)
         or (pos('0',SourceST[i])<>0)))

     then // Åñëè ñòðîêà ñ ðàçäåëèòåëåì | íàéäåíà è â ñòðîêå åñòü öûôðû
     SourceST[i]:=Copy(SourceST[i],Length(SourceST[i])-47,48)
    // Åñëè íè âðåìåííûõ ìåòîê íè ÷èñåë íåò òî ñòðîêà ïóñòàÿ
    else SourceST[i]:='';
    DestST.Add(SourceST[i]);
  except
  end;

 end;
 DestST.SaveToFile('112.txt'); //   DestST.SaveToFile('112.xls');
 SourceST.Free;
 DestST.Free;
end;
Он позволяет вывести нужные данные из файла. logfile.txt при условии что этот файл сохранён, а мне нужно вывести данные из файла когда он занят приложением generator.exe это приложение и создаёт файл лога. Как можно прочитать данные при помощи TFileStream
pautina вне форума Ответить с цитированием
Старый 27.01.2009, 18:48   #5
Д'якон
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 236
По умолчанию

Какой смысл спрашивать, если ты не читаешь то что тебе отвечают?
Д'якон вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скопировать занятый системный файл Alter Софт 6 31.12.2010 14:01
Диалоги открыть/закрыть файл Altera Операционные системы общие вопросы 3 03.12.2008 01:18
Открыть занятый файл. Kukkk Общие вопросы Delphi 5 24.03.2008 18:49
Открыть файл dbClick-ом; Altera Помощь студентам 1 03.02.2008 15:40