如何实现将拖拽的文件让接受拖放文件打开呢?

来源:互联网  时间:2016/7/1 18:25:45

关于网友提出的“ 如何实现将拖拽的文件让接受拖放文件打开呢?”问题疑问,本网通过在网上对“ 如何实现将拖拽的文件让接受拖放文件打开呢?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 如何实现将拖拽的文件让接受拖放文件打开呢?
描述:

本帖最后由 void_main_void 于 2015-09-24 09:58:42 编辑

如何实现将拖拽的文件让接受拖放文件打开呢?
就相当于打开一个看图软件, 然后我用鼠标拖拽一张图片拖放到看图软件上。看图软件就能自动打开。 这是如何实现的呢?
解决方案1:

5楼正解


#include 
int main(int c, char **arg)
{
if (c < 2) printf("no inputfile\n");
else printf("path = %s", arg[1]);
getchar();
return 0;
}

把这程序编译连接成exe程序后,随便拖个文件给它, 就能显示拖过来的文件的路径, MFC里, main函数被屏蔽了, 不过可以通过其他方法读到命令行参数, 网上一搜就有 解决方案2:

lz觉得main函数的参数是干嘛用的.

解决方案3:

"让程序模拟拖拽一张图片到看图软件上这一过程。"
还是不明白, 看图软件 如果 能 Drop ,那 你就可以 Drag

解决方案4:

发一个 那个程序 使用的 菜单 Open 命令 , 或者 快捷键

解决方案5:

"看图软件打开它"
发送 open file 命令

解决方案6:

// drag from explorer, not from tree ! 
void CMyAnimateCtrl::OnDropFiles(HDROP hDrop) 
{
// Get number of files dropped
    CString Path;
char szAviPath[260];
    UINT nDropped;
    nDropped = DragQueryFile(hDrop,0xFFFFFFFF,NULL,0);
    if (nDropped==1)
{
DragQueryFile(hDrop, 0, szAviPath, 260);
    DragFinish(hDrop);     /* Delete structure alocated */
Path=szAviPath;
Path.MakeUpper();
if(Path.Right(4) != ".AVI" )
{
AfxMessageBox("Please choose a avi file!");
return;
}
ChangeAvi(Path);
    }
}
//
BOOL CMyAnimateCtrl::OnEraseBkgnd(CDC* pDC) 
{
// TODO: Add your message handler code here and/or call default
static BOOL D /> if(!Done)
{
D />DragAcceptFiles(TRUE);
}
....
// h
class CMyAnimateCtrl : public CAnimateCtrl
afx_msg void OnDropFiles(HDROP hDrop);

上一篇MfC中如何利用鼠标滚动滑轮控制鼠标缩放
下一篇active x windowsmediaplayer 无法更改 UiMode 属性
明星图片
相关文章
《 如何实现将拖拽的文件让接受拖放文件打开呢?》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)