如题,请大虾给个例子代码并解释下
解决方案 »
- 这段代码哪边需要释放啊?有内存泄露,如何释放
- 如何才能知道ShellExecute执行完毕?
- 怎样让 ListCtr 有垂直滚动条,去掉水平滚动条
- RPC用ncacn_ip_tcp协议来通信问题
- 结构对齐问题-比较难
- CFormView的窗口,我用GetParentFrame()->SetWindowText("TITLE");居然不变,怎么回事?
- 如何捕获并拦截WM_QUERYENDSESSION消息以阻止计算机重启啊???大家帮忙啦!!
- 个人收藏的编程下载资源全部公布!!!
- 关于对话框的问题!
- 请问如何远程读取MYSQL数据库
- 如何枚举某窗口下的所有控件的句柄
- 如何将剪贴板中的文本粘贴为位图
{
...this->ModifyStyleEx(0, WS_EX_ACCEPTFILES);return 0;
}
//...
TCHAR Buffer[MAX_PATH];
unsigned int i;
unsigned int NumberOfDrags;
NumberOfDrags = DragQueryFile((HDROP)wParam, 0xFFFFFFFF, Buffer , MAX_PATH);
for (i = 0, NumberOfDrags , i++) {
DragQueryFile((HDROP)wParam, i, Buffer , MAX_PATH);
//actions here
}
我当时是直接给CMainFrame添加了WM_DROPFILES消息,然后在相应的响应函数里写2楼差不多的代码
void CMainFrame::OnDropFiles(HDROP hDropInfo)
{
//获取拖动的文件个数
const int fileCount = DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);
ASSERT(fileCount >= 1);// for (int i=0;i<fileCount;i++)
// {
// TCHAR fileName[MAX_PATH] = { 0 };
// DragQueryFile(hDropInfo,i,fileName,MAX_PATH);
// CString str;
// str.Format("%s",fileName);
// } //if fileCount>1,open the last file
TCHAR fileName[MAX_PATH] = { 0 };
//fileName,包含文件名
DragQueryFile(hDropInfo,fileCount-1,fileName,MAX_PATH);
//最后执行你要执行的操作
}
http://hi.baidu.com/qiujiejia/blog/item/d986eb3b2822d1e415cecba0.html
然后在相应的响应函数void CMainFrame::OnDropFiles(HDROP hDropInfo)
里面做你想要的操作
比较好