MFC程序的话在
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
。。。
DragAcceptFiles();
}
那么在DOC的OnOpenDocument就会传入文档的路径,你就可以在这里操作文件了,当然具体的读取文件操作还是要自己来做的
BOOL CMyDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;
MessageBox(NULL,lpszPathName,lpszPathName,MB_OK);
// TODO: 在此添加您专用的创建代码
return TRUE;
}
程序的框架是基于对话框的
首先在APP文件中的InitInstance函数中加入:
BOOL CXXXXXApp::InitInstance()
{
if ( _T('\0') != m_lpCmdLine[0])
{
// 获取被拖放的文件名,m_csDroppedFile是用户加入的这个类的成员变量。m_lpCmdLine是基类CWinApp中的变量
m_csDroppedFile = m_lpCmdLine;
}
....
...
}
然后在OnInitDialog函数中获取APP类中的成员变量m_csDroppedFile的值并打开这个文件即可。
另外在OnInitDialog函数中需要加入DragAcceptFiles()来允许程序接受被拖放的文件。