我自己实现了IDataObject,IDropSourceFORMATETC fmtetc = {CF_UNICODETEXT, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};
STGMEDIUM stgmed = {TYMED_HGLOBAL, {0}, 0};
stgmed.hGlobal = StringToHandle (L"Hello, World!", -1);if (CreateDataObject(&fmtetc, &stgmed, 1, &pDataObject) != S_OK)
{
      return FALSE;
}
if( CreateDropSource(&pDropSource) != S_OK )
{
      return FALSE;
}
DWORD dwResult = DoDragDrop(pDataObject,pDropSource,DROPEFFECT_MOVE|DROPEFFECT_COPY,&dwEffect);
if( dwResult == DRAGDROP_S_DROP )
{
if( dwEffect == DROPEFFECT_MOVE )
        {
}
}
pDropSource->Release();
pDataObject->Release();
ReleaseStgMedium(&stgmed);我准备好了,IDataObject对象,和IDropSource对象,然后调用 DoDragDrop,如上所示,但是一旦我松开鼠标左键,DoDragDrop便会出现非法地址访问,但那句“hello world”确实传递成功了,鼠标释放时,所在窗口里显示了“hello world”。不知哪里除了问题?