Как поместить в буфер файл с помощью File Mapping?

Материал из DRKB


  • В файлике Delphi5\Demos\Resxplor\exeimage.pas ищи слово CreateFileMapping
  • идея простая открываешь файл .. (или создаешь)
  • создаешь Mapping ... CreateFileMapping
  • отображаешь Mapping в свой процесс MapViewOfFile

и всё


var
  SharedHandle: THandle;
  FileView: Pointer;
  MyFile: HFILE;
begin
  MyFile := OpenFile('c:\1.txt', // pointer to filename
    ..., // pointer to buffer for file information
    ... // action and attributes
    );
  SharedHandle := CreateFileMapping(MyFile, nil, PAGE_READWRITE, 0,
    size {размер файла}, PChar('MyFile'));
  FileView := MapViewOfFile(SharedHandle, FILE_MAP_WRITE, 0, 0, size {размер файла});
  // потом
  UnmapViewOfFile(FileView);


Source: Взято с Vingrad.ru http://forum.vingrad.ru
ID: 03189