DevProg: Блог для программистов

Секреты программирования. Примеры разработки. Обзоры программёрского софта, блогов и форумов и просто полезные советы!

Как прочитать занятый файл?

Posted by devprog на Октябрь 7, 2008

Часто перед программистом встаёт вопрос о том, как прочитать файл который уже занят какой-либо программой, будь то своей же или чужой. Ответ на этот вопрос кроется в том, что файл нужно спроецировать на память (то есть сделать его копию в памяти). Например вот так:


var HMem : TMemoryStream;
begin

HMem := TMemoryStream.Create;

try

HMem.LoadFromFile(‘file.exe’); // файл который будем читать

HMem.Read(params);   // Что-то читаем

HMem.Seek(params);   // Что-то находим

Size := Memory.Size;   // размер файла

finally

HMem.Free; //освободили файл

end;

end;


Так же конечно мы вольны записать в поток памяти что нибудь, но потом чтобы записать это в файл следует выполнить метод SaveToFile. Вот такой вот нехитрый но рабочий трюк.
Advertisements

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: