VC 6 如何实现把文件拖入窗口即打开的功能?

来源:百度知道 编辑:UC知道 时间:2024/09/23 03:20:38
RT 最好是MFC的
应该响应的是WM_DROPDOWN,但是在MFC中怎么获取这个消息,从而找到他传递的参数即文件路劲?

你找下吧,应该有对应的事件.
我记得C#里边是有的.

前半段我知道,后半段你再咨询下

windows系统的Explorer进程 已经帮你做了好多事

比如这里有个aa.txt文件
你把它选中,然后拖到notepad.exe图标上释放。
那么。这个文件将以记事本打开。

也就是说,这个拖拽的过程Explorer会将你选中文件的绝对路径作为参数
传递给目标程序 然后启动目标程序(程序未启动的情况下)

当程序已经启动,把一个文件拖拽到程序窗口上,
发生了什么事,我也不太清楚。不过肯定explorer干了什么事的
肯定给应用程序传递了个消息和参数。只是不知道具体是什么消息。参数当然是这个文件的绝对路径!

在C****App::InitInstance()函数中, 加入
m_pMainWnd->DragAcceptFiles();
EnableShellOpen();
RegisterShellFileTypes(TRUE);