Ver Mensaje Individual
  #8  
Antiguo 14-07-2008
Khronos Khronos is offline
Miembro
 
Registrado: abr 2007
Posts: 298
Reputación: 20
Khronos Va por buen camino
Bueno, ya tengo un poco planteado el algoritmo..

Código Delphi [-]
unit FileMapping;

interface

uses Windows, SysUtils, Messages, dialogs;

const
  wm_Transfer = wm_User + 13;

type
Mensaje = ^TMensaje;
  TMensaje = packed record
    DestHandle: THandle;
    filename: string[255];
  end;

function RunFileMapping(AppHandle: THandle; Mapping: string): boolean; stdcall;

implementation

function RunFileMapping(AppHandle: THandle; Mapping: string): boolean;
var
  Handle: THandle;
begin
  Handle:= OpenFileMapping(FILE_MAP_READ,False,pchar(Mapping));
  if Handle <> 0 then begin
  showmessage('Abriendo mapeado de memoria');
   //Por lo tanto hay otra instancia de la aplicacion
   //aqui enviamos un mensaje a la primera aplicacion con el paramstr(1);
  end;

  if Handle = 0 then begin
    CreateFileMapping( $FFFFFFFF,nil,PAGE_READWRITE,0, SizeOf(TMensaje), pchar(Mapping));
    showmessage('Creado mapeado de memoria');
  end;

end;

Con PostMessage(Mensaje.^DestHandle, WM_TRANSFER, 0, 0) ya conseguí enviar un mensaje...

Salu2
Responder Con Cita