发送方的代码是:
COPYDATASTRUCT cpd;
cpd.dwData = 0;
cpd.cbData = DWORD(_tcslen(m_lpCmdLine));
cpd.lpData = (void*)m_lpCmdLine;
::SendMessage(hMDVWnd, WM_COPYDATA, NULL, (LPARAM)&cpd);接受方的代码是:
BOOL CMainDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
// TODO: Add your message handler code here and/or call default
if (0 == pCopyDataStruct->dwData)
{
LPTSTR lpCmdLine = (LPTSTR)(pCopyDataStruct->lpData);
DWORD dwSize = DWORD(_tcslen(lpCmdLine)); //注意这里得到的字符串长度与原始长度不一致
CString strInfo;
strInfo = lpCmdLine;
MessageBox(strInfo); //注意这里得到的内容也不一致
return TRUE;
}
//return CDialog::OnCopyData(pWnd, pCopyDataStruct);
}譬如说我传送的内容是:%200%130%150%130,长度是16
但是接受到的内容是:%200%130后面是一些空心方框♡♡♡♡♡♡,长度是12 为什么呢?
COPYDATASTRUCT cpd;
cpd.dwData = 0;
cpd.cbData = DWORD(_tcslen(m_lpCmdLine));
cpd.lpData = (void*)m_lpCmdLine;
::SendMessage(hMDVWnd, WM_COPYDATA, NULL, (LPARAM)&cpd);接受方的代码是:
BOOL CMainDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
// TODO: Add your message handler code here and/or call default
if (0 == pCopyDataStruct->dwData)
{
LPTSTR lpCmdLine = (LPTSTR)(pCopyDataStruct->lpData);
DWORD dwSize = DWORD(_tcslen(lpCmdLine)); //注意这里得到的字符串长度与原始长度不一致
CString strInfo;
strInfo = lpCmdLine;
MessageBox(strInfo); //注意这里得到的内容也不一致
return TRUE;
}
//return CDialog::OnCopyData(pWnd, pCopyDataStruct);
}譬如说我传送的内容是:%200%130%150%130,长度是16
但是接受到的内容是:%200%130后面是一些空心方框♡♡♡♡♡♡,长度是12 为什么呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货