B
brightangel
Unregistered / Unconfirmed
GUEST, unregistred user!
想用WM_COPYDATA在我设计的两个程序间间传送信息,接收方始终捕获不到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消息
对发送方单步调试证明可以找到接收方的窗口句柄
为什么?请各位高手指教!
不胜感激!
--------------------------------
发送程序码如下:
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消息
对发送方单步调试证明可以找到接收方的窗口句柄
为什么?请各位高手指教!
不胜感激!