folder.cpp

来自「用VC编写的可以将VC.NET的文档转换成VC6.0的文档的程序」· C++ 代码 · 共 51 行

CPP
51
字号
// Folder.cpp: implementation of the CFolder class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Folder.h"
#include <windows.h>
#include <shlobj.h>
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CFolder::CFolder()
{

}

CFolder::~CFolder()
{

}

std::string CFolder::GetFolder()
{
	BROWSEINFO BrowseInfo ;
	std::string  strret;

	memset(&BrowseInfo,0,sizeof(BrowseInfo));
    BrowseInfo.lpszTitle = "Please choose a directory";
	BrowseInfo.ulFlags   = BIF_RETURNONLYFSDIRS ;  
    LPITEMIDLIST lpItemIDList = SHBrowseForFolder ( &BrowseInfo );
    if ( lpItemIDList != 0 )
    {
        char path[MAX_PATH];
        if (SHGetPathFromIDList ( lpItemIDList, path ) )
        {
			////////////////////
			strret = path; 
			
			////////////////////
        }
        IMalloc * iMalloc = 0;
        if (  SHGetMalloc ( &iMalloc ) )
        {
            iMalloc->Free ( lpItemIDList );
            iMalloc->Release ( );
        }
    }	
	return strret; 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?