现在的位置: 首页 > 综合 > 正文

VC 实现当拖动一个文件到程序的图标上时,程序自动启动并打开该文件

2013年10月03日 ⁄ 综合 ⁄ 共 654字 ⁄ 字号 评论关闭

 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()来允许程序接受被拖放的文件。

抱歉!评论已关闭.