我用win32 API DoDragDrop 实现脱放,调用DoDragDrop时出现非法地址访问
时间:2011-11-30
来源:互联网
我自己实现了IDataObject,IDropSource
FORMATETC 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”。
不知哪里除了问题?
FORMATETC 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”。
不知哪里除了问题?
作者: ondarkness 发布时间: 2011-11-30
不调用后面三句有异常吗
pDropSource->Release();
pDataObject->Release();
ReleaseStgMedium(&stgmed);
pDropSource->Release();
pDataObject->Release();
ReleaseStgMedium(&stgmed);
作者: fishion 发布时间: 2011-12-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28