delphi的消息机制实现消息传递字符串

本文介绍了Delphi中实现字符串消息传递的三种方式:1) 直接传递,适用于同进程窗口间;2) 使用PostThreadMessage进行线程间的传递,支持跨进程;3) 如何通过PostThreadMessage传递StringList。详细阐述了传递和接收消息的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

delphi使用消息传递字符串有三种方式可以实现:

1、直接传递,但只能传递给同进程的窗口,无法实现跨进程的消息传递

传递消息:

var
  Str: String;
begin
  Str := 'some string';
  PostMessage(Handle, 0, 0, Integer(Str));
end;

接收消息:

var
  Str: String;
begin
  Str := String(Msg.LParam);
  ShowMessage(Str);
end;


2、如果线程之间传递可以使用PostThreadMessage传递,PostThreadMessage是该函数将一个消息放入(寄送)到指定线程的消息队列里,不等待线程处理消息就返回。
传递消息:

Procedure   TThread1.Execute;
  var
      sMes:String;
      pMes:^String;
      iTemp:Integer;
  begin
      sMes:=’Test’;
      New(pMes);
      pMes^:=sMes;
      PostThreadMessage(thread2.ThreadID,WM_StartRecording,Integer(pMes),0);
      iTemp:=111;
      PostThreadMessage(thread2.ThreadID,WM_OriginalData,iTem
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值