使用 C++,我已经花了很多时间试图弄清楚这一点。这段代码来自一个工作程序,我正在用 C# 重写它,但是发生了一些我不明白的事情。
下面的代码正是我按下“Step Into”时运行的代码。现在从 ::SendMessage(...) 到 ::OnCopyData(..) 的 pCopyDataStruct 包含数据如何?
主文件
void COTP::main()
{
//string will be returned using WM_COPYDATA message
::SendMessage(hWnd, 33508, (WPARAM)GetSafeHwnd(), 11);
// WPARAM is a typedef for UINT_PTR which is an unsigned int.
}
afxwin2.inl
_AFXWIN_INLINE HWND CWnd::GetSafeHwnd() const
{ return this == NULL ? NULL : m_hWnd; }
主文件
BOOL COTP::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
CString str, str2;
switch (pCopyDataStruct->dwData)
{
case JRC_COPYDATA_ID_TRACK_FILENAME:
str = (LPCTSTR)pCopyDataStruct->lpData;
break;
}
}
任何帮助都非常感谢,我已经查看了今晚可以查看的所有 msdn 文档,似乎我在某个地方遗漏了一些简单的东西。认为这可能是一个回调,但这似乎不对。