用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
对发送方单步调试证明可以找到接收方的窗口句柄
为什么?请各位高手指教!
不胜感激!
...全文
15 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pp616 2003-05-18
为什么不用共享内存
回复
888888888888 2003-05-18
关注
回复
猎人66 2003-05-18
呵呵,
传消息时经常遇到这种情况:)
回复
hualiangf 2003-05-17
真是这样的,我怎么没想到,你真行!
回复
猎人66 2003-05-17
不要在调试状态下试,
你把他们编译成执行文件,把CBuilder关掉后再试吧,
因为工程在CBuilder里边的设计时的窗口会影响的消息的
回复
相关推荐
发帖
Windows SDK/API
创建于2007-08-02

1206

社区成员

C++ Builder Windows SDK/API
申请成为版主
帖子事件
创建了帖子
2003-05-17 05:39
社区公告
暂无公告