如何用C/C++在windows下实现拖动文件图标打开文件

qq_41146420 2017-11-22 09:45:04
问个简单的问题,windows下怎么实现拖动目标文件的图标到C程序上,让这个C程序打开这个文件?
又怎么让它读取这个目标文件的目录呢?
感谢回答!!!
...全文
336 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
狐狸小十 2017-11-23
  • 打赏
  • 举报
回复
响应WM_DROPFILES
LRESULT CFrame2Q::OnDropFiles(WPARAM wParam, LPARAM lParam)
{
	std::vector<std::tstring>aPaths;
	UINT uCntFiles(::DragQueryFile((HDROP)wParam, INFINITE, NULL, 0));
	for (size_t i = 0; i < uCntFiles; ++i)
	{
		TCHAR szTmp[MAX_PATH]{ 0 };
		::DragQueryFile((HDROP)wParam, i, szTmp, MAX_PATH);
		if (_tcslen(szTmp))
			aPaths.push_back(szTmp);
	}
	//auto h = MergeFileXToCustome(this->m_lpD3DDevice, aPaths);
	::DragFinish((HDROP)wParam);
	return 0;
}
「已注销」 2017-11-23
  • 打赏
  • 举报
回复
楼上说的是拖放到窗口上的形式。如果你说的是拖放文件(图标)到可执行文件(图标)上的话,则拖放的这些文件(夹)的路径都会以参数的形式传递。至于鼠标选择多个文件的时候,参数传递的先后规则是什么就不知道了。一般拖放单个文件,那参数就是第一个。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧