PostMessage 进程间发消息

菜鸟笔记公众号 2008-12-26 05:27:50


消息发送方:
CString *str= new CString;
*str="HELLO";
PostMessage(hWnd,WM_MYMESSAGE,0,(LPARAM)str);

消息接收方:
CString *str=(CString*)lParam;
delete str;

进程间发消息,为什么不行啊!
...全文
325 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mwx285 2008-12-26
  • 打赏
  • 举报
回复
不可以这样用指针指针来传送数据…………

创建管道: CreatePipe,知道有这么个东西,没用过,看看MSDN吧,或者百度一下,源码多的是
  • 打赏
  • 举报
回复

To :cnzdgs

能否给个管道来传输数据的列子

我想实现传送一个地址后不需要返回而继续执行...SendMessage不能实现吧
SolidRabbit 2008-12-26
  • 打赏
  • 举报
回复
同意9楼,进程A中的数据地址在进程B里是没意义的。
cnzdgs 2008-12-26
  • 打赏
  • 举报
回复
进程间不能传递指针,可以用管道来传输数据,或者用SendMessage发WM_COPYDATA消息来发送数据。
  • 打赏
  • 举报
回复

到网上查了一下

::PostMessage(hwnd,WM_WATCHFILE,0,(LPARAM)123);

接收:
str.Format("%d",(int)lParam);

这样可以得到123...
  • 打赏
  • 举报
回复

到网上查了一下

::PostMessage(hwnd,WM_WATCHFILE,0,(LPARAM)123);

接收:
str.Format("%d",(int)lParam);

这样可以得到123...
  • 打赏
  • 举报
回复

谢谢各位..

RegisterWindowMessage注册自定义消息 后可以发,还是这样根本就不行..
ilovedrv 2008-12-26
  • 打赏
  • 举报
回复
进程之间不能这样共享数据

http://www.moon-soft.com/doc/11599.htm
wltg2001 2008-12-26
  • 打赏
  • 举报
回复
同进程内这样做没什么问题,不过如果是不同进程之间这样做不行,因为传过去的是指针,而指针只在本进程内有意义,跨进程就没有意义了。
  • 打赏
  • 举报
回复

需要用PostMessage 额...各位,帮帮忙..
cnzdgs 2008-12-26
  • 打赏
  • 举报
回复
进程间不能发这样自定义的消息,要用RegisterWindowMessage注册自定义消息。
51365133 2008-12-26
  • 打赏
  • 举报
回复
SendMessage

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧