vc 文件和文件路径选择

原创 2014年04月23日 23:13:29
//1、首先给出的文件夹路径选择的简单例子;(SHBrowseForFolder)
	BROWSEINFO bi;
	WCHAR szPath[MAX_PATH];
	ZeroMemory((void*)&bi, sizeof(bi));
	ZeroMemory(szPath, sizeof(szPath));

	bi.hwndOwner = this->m_hWnd;
	bi.pidlRoot = NULL;
	bi.pszDisplayName = szPath;
	bi.lpszTitle = L"搜索目录";
	bi.ulFlags = BIF_RETURNONLYFSDIRS; ///< 任选目录
	bi.lpfn = NULL;
	bi.lParam = NULL;
	bi.iImage = NULL;

	LPITEMIDLIST lpdList = SHBrowseForFolder(&bi);

	if (NULL == lpdList)
	{
		return ; ///< 选择cancel
	}

	if (SHGetPathFromIDList(lpdList, szPath))
	{
		// szPath is valid;
		CString path = szPath;
	}
//2、这里给出的是(CFileDialog )的例子;
//更多的参数设置参见CFileDialog ::m_ofn的设置,详见msdn


	OPENFILENAME ofn;
	//ZeroMemory((void*)&ofn, sizeof(ofn));
	//ofn.lStructSize = sizeof (OPENFILENAME);
	//ofn.hwndOwner = this->m_hWnd;
	//ofn.hInstance = NULL;
	//ofn.lpstrFilter = L"Text (*.txt)|(*.txt)||";
	//ofn.lpstrCustomFilter = ;
	//ofn.nMaxCustFilter = ;
	//ofn.nFilterIndex = ;
	//ofn.lpstrFile = ;
	//ofn.nMaxFile = MAX_PATH;


	CFileDialog dlgFile(TRUE);	///< true表示文件选择,false 文件保存,具体参见msdn
	CString fileName;
	WCHAR path[MAX_PATH+1];
	ZeroMemory(path, sizeof(path));
	dlgFile.GetOFN().lpstrFile = path;
	dlgFile.GetOFN().nMaxFile = MAX_PATH;

	if (IDCANCEL == dlgFile.DoModal())
	{
		return ;
	}

	CString pathName = dlgFile.GetPathName();
	CString selectFile = dlgFile.GetFileName();

	///< 多选路径读取;
	POSITION pos = NULL;
	CString posPaht;
	do {
		pos = dlgFile.GetStartPosition();
		if (pos != NULL)
		{
			posPaht = dlgFile.GetNextPathName(pos);
			MessageBox(posPaht, L"提示");
		}		
	} while(pos != NULL);

相关文章推荐

VC源码得到文件路径

  • 2015年06月13日 09:14
  • 11KB
  • 下载

文件路径选择

  • 2002年10月07日 00:00
  • 7KB
  • 下载

VC++全局包含文件路径设置( Include 设置)

VC++要设置全局Include真的非常麻烦,很多人都不懂,甚至有人说是不可以修改了,就不能用Opengl了,当然这是不可能的,不过VC2010,2012的设置真叫人头疼。下面看看这是如何设置的: 在...

VC下通过进程ID获取进程镜像文件路径的方法及其存在的缺陷

工作中经常会遇到通过进程ID获取进程镜像文件或者其他模块的路径的需求。(转载请指明出处)网上关于方案大致存在两种方案:         1 OpenProcess->GetModuleFileName...

VC 文件路径常用操作

文件路径常用操作━━━━━━━━━━━━━━━━━━━━━━━━#include #include #include using namespace std;void GetFileNameInPat...

VC中获取文件路径

VC中使用GetModuleFileName获取应用程序路径 //与API函数GetModuleFileName获取应用程序目录有何不一样? -----------------------------...
  • zmq5411
  • zmq5411
  • 2011年06月16日 11:13
  • 1653

Windows API函数获取指定文件目录下文件路径(vc6.0通过)

// FileOpt.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...
  • zww0815
  • zww0815
  • 2012年10月10日 00:13
  • 3548

程序关联文件 获取双击文件路径 MFC/VC

头脑发热突然想弄一个双击文件打开程序,才发现注册表编程有必要学习一下。故分为 (一)解决问题(二)补充知识(三)总结。这次完成(一),剩下的接着补充吧! (一)解决问题 问题:手动修改注册表...

VC/MFC 设置程序与文件关联与双击文件获取文件路径

如何设置程序与文件关联并且双击关联文件时获取文件的路径呢?一般来说可以通过写注册表的方式实现,在函数入口处实现功能。例如在VC/MFC中,可以在应用程序的C**App.cpp文件中InitInstan...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vc 文件和文件路径选择
举报原因:
原因补充:

(最多只允许输入30个字)