社区
C++ Builder
帖子详情
怎样用postmessage传递一个字符数组或者一个字符串?
crysword
2003-12-05 03:37:06
RT
...全文
259
3
打赏
收藏
怎样用postmessage传递一个字符数组或者一个字符串?
RT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
crysword
2004-01-13
打赏
举报
回复
SendMessage(Handle,WM_SETTEXT,(WPARAM)NULL,(LPARAM)"Just a test");
const int WM_TEST=WM_USER+10;
void __fastcall TForm1::Button2Click(TObject* Sender)
{
SendMessage(this->Handle,WM_TEST,(WPARAM)0,(LPARAM)"Justa a test");
}
void __fastcall TForm1::WndProc(TMessage& Message)
{
case WM_TEST :
AnsiString Str=AnsiString((char*)Message.LParam);
Memo1->Lines->Add(Str);//没任何问题
break;
default:
TForm::WndPProc(Message);
break;
}
不同进程:
要在不同的进程传递数据只能使用消息WM_COPYDATA,
无法使用你自定义的消息.下面是使用WM_COPYDATA消息的代码,测试过没问题.
代码:
//发送 :
COPYDATASTRUCT cds;
AnsiString Data=Edit2->Text;//"Just a test";
cds.dwData=sizeof(COPYDATASTRUCT);
cds.cbData=Data.Length();
cds.lpData=(LPVOID)Data.c_str();
//想目标窗口发消息WM_COPYDATA
SendMessage((HWND)Edit1->Text.ToInt(),WM_COPYDATA,(WPARAM)NULL,(LPARAM)&cds);
//接收:
if(Message.Msg==WM_COPYDATA)
{
COPYDATASTRUCT *cds;
char* DataBuf;
cds=(COPYDATASTRUCT*)Message.LParam;
DataBuf=new char[cds->cbData];
CopyMemory(DataBuf,cds->lpData,cds->cbData);
AnsiString Str=AnsiString(DataBuf);
Memo1->Lines->Add("Str="+Str);
delete[] DataBuf;
}
这是我找到的bcb上的帖子。给大家参考.
crysword
2003-12-05
打赏
举报
回复
可能不是一个进程的说。而且不想使用地址。想直接传送。
xjcpower
2003-12-05
打赏
举报
回复
把字符串的地址放在参数wparam或者lparam里面传过去!必须是同一进程哦!
jquery如何把数组变为
字符串
传到服务端并处理
主要介绍了jquery如何把数组变为
字符串
传到服务端并处理,需要的朋友可以参考下
java 中HttpClient传输xml
字符串
实例详解
主要介绍了java 中HttpClient传输xml
字符串
实例详解的相关资料,需要的朋友可以参考下
两个VB程序间互相通信 可以传送数值 也可以传送字节数组
两个VB程序间互相通信 可以传送数值 也可以传送字节数组。
jquery post方式
传递
多个参数值后台以数组的方式进行接收
在用jquery的post方式
传递
多个值时,在后台页面可以用数组形式接收,很不错吧,可以接收多个值啊,接下来介绍实现方法,感兴趣的朋友可以了解下哦
postMessage
详解和demo
postMessage
可用于跨域消息
传递
,本资源提供了详细的介绍文档和2种应用场景的小demo
C++ Builder
13,874
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章