Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Daten mit WM_COPYDATA zwischen Prozessen austauschen

  Alt 30. Jan 2003, 10:19
Sender:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  aCopyData: TCopyDataStruct;
  p: PChar;
begin
  p := 'Hallo!';

  with aCopyData do begin
    dwData := 0;
    cbData := StrLen(p) + 1;
    lpData := p;
  end;

  SendMessage(FindWindow('TFormRecv', nil), WM_COPYDATA, Longint(Handle),
              Longint(@aCopyData));

  Application.Terminate;
end;
Receiver:

Delphi-Quellcode:
type
  TFormRecv = class(TForm)
  private
    procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA;
  end;

// ...

procedure TFormRecv.WMCopyData(var Msg: TWMCopyData);
begin
  ShowMessage(String(PChar(Msg.CopyDataStruct.lpData)));
end;
MfG,
d3g
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat