我用如下代码传vector类型变量:
vector<char> v;
cds.dwData=0;
cds.cbData=sizeof(v);
cds.lpData=&v;
SendMessage(hWndFind[k],WM_COPYDATA,(WPARAM)hWnd,(LPARAM)&cds);为什么到了接收方收到的会是错误的值呢? 谢谢!
vector<char> v;
cds.dwData=0;
cds.cbData=sizeof(v);
cds.lpData=&v;
SendMessage(hWndFind[k],WM_COPYDATA,(WPARAM)hWnd,(LPARAM)&cds);为什么到了接收方收到的会是错误的值呢? 谢谢!
解决方案 »
- vc6.0将编码格式改为unicode,就出现各种错误,大神进来看下吧
- 我这边知道一个进程的Handle,怎么得到他对应窗体的Hwnd
- richedit 的问题,论坛里的贴字我都看了还是无法解决
- 简单问题 希望不赐教
- √【新手】MS VC6 中 如何得到 CRect 的 Top Left Right Bottom ?
- 如何写时间日期常量
- 关于CWinThread和AfxBeginThread的简单问题。--100分。
- 如何创建一块内存,并写入包含几个‘/0’的字符串?
- DBGrid的入门问题
- 谁能做这样一个小软件,方便大家??? 我出分,您出力,大家有好处!还是那句话:分不是问题,可以继续加分,先看看反应!
- 关于一个在vector放指针的问题(在线等!)
- 使用vector出错
cds->dwData = ((COPYDATASTRUCT*)Msg.LParam)->dwData;
cds->cbData = ((COPYDATASTRUCT*)Msg.LParam)->cbData;
cds->lpData = malloc(cds->cbData);
if (((COPYDATASTRUCT*)Msg.LParam)->lpData == NULL)
{
cds->lpData = NULL;
}
else
{
memcpy(cds->lpData, ((COPYDATASTRUCT*)Msg.LParam)->lpData, cds->cbData);
}
mqueueCDS.push(cds); PostMessage(mhMsgWnd, WM_POST_HALL_MSG, NULL, NULL);