希望这个类对你会有帮助  TSharedMemory = Class( THandleObject )
  Private
    FSize :Integer;
    FFirstCreated :Boolean;
    FFileView :Pointer;
  Public
    Constructor Create(Const Name :String; Size :Integer);
    Destructor Destroy; Override;    Property Size :Integer Read FSize;
    Property Buffer :Pointer Read FFileView;
    Property FirstCreated :Boolean Read FFirstCreated;
  End;//---------------------------------------------------------------------------
{ TSharedMem Class Implementation }
//---------------------------------------------------------------------------
Constructor TSharedMemory.Create( Const Name :String; Size :Integer );
Begin
  Inherited Create;
  FName := Name;
  FSize := Size;
  // CreateFileMapping, when called with $FFFFFFFF for the hanlde value,
  // creates a region of shared memory
  FHandle := CreateFileMapping( $FFFFFFFF, Nil, PAGE_READWRITE, 0,
    Size, PChar( Name ) );
  If FHandle = 0 Then Abort;
  FFirstCreated := ( GetLastError = 0 );
  // We still need to map a pointer to the handle of the shared memory region
  FFileView := MapViewOfFile( FHandle, FILE_MAP_WRITE, 0, 0, Size );
  If FFileView = Nil Then Abort;
End;
//---------------------------------------------------------------------------
Destructor TSharedMemory.Destroy;
Begin
  If FFileView <> Nil Then UnmapViewOfFile( FFileView );
  Inherited Destroy;
End;
//---------------------------------------------------------------------------