Windows消息权限

EPr*_*und 0 windows delphi privileges windows-messages

什么是Windows消息权限?

在应用程序1中,我向应用程序2发布了一条消息:

PostMessage(handle, WM_LOCAL, 0, Integer(Lst));
Run Code Online (Sandbox Code Playgroud)

在应用程序2中,消息实现:

var l: TStringList;
begin    
  ShowMessage('got 1');
  l := TStringList(Message.LParam);
  ShowMessage('got 2');
  Memo1.Clear;
  ShowMessage('got 3');

  if Memo1 = nil then
    ShowMessage('nil');

  //HERE : Access violation.
  //Memo1.Text := l.Text;
  //ShowMessage('got 4');

  Memo1.Lines.Add('good!');
  ShowMessage('got 5');

  l.Free;      
  ShowMessage('got 6');

  //Access violation Too..
  Memo1.Repaint;
  ShowMessage('got 7');
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

我既不能重新绘制备忘录,也不能重新访问Text属性.

bum*_*mmi 5

您无法在应用程序之间共享对象.甚至指针也会指向目标的地址空间.
也许WM_COPYDATA符合您复制数据的要求.