VS2013 MFC拖文件到对话框获取文件名(不包含后缀和路径)

最近搞个小工具,为了方便用就做了个可以拖拽文件到话框的功能。

然后生成文件默认用原始文件名,问题就来了:拖拽得到的文件名是全路径的,无法获取不包含文件后缀的文件名。

具体问题描述:

例如文件在:D:\test.txt,那么拖拽得到的字符就是 “D:\\test.txt”,而我们只想得到 test。


所以我这边用了如下代码来获取 test 

void CTxt2ExcelDlg::OnDropFiles(HDROP hDropInfo)
{
	//获取文件路径并显示到编辑框中
        CString filename;   //文件名不包含后缀。
	TCHAR filePath[MAX_PATH] = { 0 };

	//单文件操作,第二参数置0,第三个参数返回文件路径                           
	DragQueryFile(hDropInfo, 0, filePath, MAX_PATH - 1);
	SetDlgItemText(IDC_EDIT_TEXT, filePath);
	filename = filePath;
	filename = filename.Mid(filename.ReverseFind('\\') + 1, ((filename.ReverseFind('.') - filename.ReverseFind('\\'))-1));//用CString 成员函数来获取。
	DragFinish(hDropInfo);
	CDialogEx::OnDropFiles(hDropInfo);
}


以上是随手记,万一哪天自己再用到了,查起来方便。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值