用WM_COPYDATA在进程间传送信息时遇到的问题

hualiangf 2003-05-17 05:39:24
想用WM_COPYDATA在我设计的两个程序间间传送信息,发送程序码如下:
--------------------------------
HWND WinHandle=FindWindow("TFormConfig","FTPScout 搜索引擎监控");
if(WinHandle!=NULL)
{
COPYDATASTRUCT cds;
char sTemp[1000];
strcpy(sTemp,Log.c_str());
cds.dwData=0;
cds.cbData=strlen(sTemp)+1;
cds.lpData=sTemp;
SendMessage(WinHandle,WM_COPYDATA,(WPARAM)this->Handle,(LPARAM)&cds);
}
--------------------------------
接收程序代码如下:
头文件中:
protected:
void __fastcall OnReLoadLog(TMessage &Message);
//指定消息的处理函数为
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_COPYDATA, TMessage, OnReLoadLog)
END_MESSAGE_MAP(TForm);
CPP文件中:
void __fastcall TFormConfig::OnReLoadLog(TMessage &Message)
{
LoadLog();
}
--------------------------------
现在的问题是,接收方始终捕获不到WM_COPYDATA
对发送方单步调试证明可以找到接收方的窗口句柄
为什么?请各位高手指教!
不胜感激!
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pp616 2003-05-18
  • 打赏
  • 举报
回复
为什么不用共享内存
888888888888 2003-05-18
  • 打赏
  • 举报
回复
关注
猎人66 2003-05-18
  • 打赏
  • 举报
回复
呵呵,
传消息时经常遇到这种情况:)
hualiangf 2003-05-17
  • 打赏
  • 举报
回复
真是这样的,我怎么没想到,你真行!
猎人66 2003-05-17
  • 打赏
  • 举报
回复
不要在调试状态下试,
你把他们编译成执行文件,把CBuilder关掉后再试吧,
因为工程在CBuilder里边的设计时的窗口会影响的消息的

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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