进程间传递字符串
来源:互联网 发布:深圳数据恢复好的公司 编辑:程序博客网 时间:2024/04/29 10:07
进程间传递字符串
BCB_FANS(四大名捕之追杀令) :同一个进程中
不同进程:
要在不同的进程传递数据只能使用消息WM_COPYDATA,
无法使用你自定义的消息.下面是使用WM_COPYDATA消息的代码,测试过没问题.
BCB_FANS(四大名捕之追杀令) :同一个进程中
代码: |
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; } |
- 进程间传递字符串
- 进程间传递字符串
- WM_COPYDATA 进程间传递数据(以字符串为例)
- 进程间传递数据
- 进程间传递消息
- 进程间传递数据
- 进程间传递描述符
- Parcel_进程间数据传递
- 进程间复杂数据类型传递
- 【进程间通信】报文传递
- 进程间描述符传递
- 进程间如何传递数据
- 进程间如何传递数据
- 进程间传递描述符
- Parcel_进程间数据传递
- SendMessage和PostMessage发送消息(不同进程传递字符串)
- 进程间字符串消息
- 浅谈进程间的消息传递
- Oracle数据安全面面观,来自互联网
- 怕做错事被人说而畏手畏脚,结果更做不好
- SQL 语法参考手册
- JAVA 中的位运算
- [转贴]富有哲理的故事——开悟之门
- 进程间传递字符串
- IIS中的MIME
- 新年来了
- Java中的异步网络编程
- 春联趣事
- 使用java.util.Timer
- 项目的启动
- 伊尘基金会
- 关于Blog中添加QQ天气预报的方法,不知道怎么转中文码的请进!