⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 browsefolder.cpp

📁 毕业设计——本程序用于网络检测——监听的一种代码。
💻 CPP
字号:
#include "stdafx.h"
#include "BrowseFolder.h"

int CALLBACK CBrowseFolder::BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData)
{
	CBrowseFolder *pBrowseFolder=(CBrowseFolder *) lpData;
	if(uMsg==BFFM_INITIALIZED)
		SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM) pBrowseFolder->m_pDirPath);
	return 0;
}

CBrowseFolder::CBrowseFolder()
{
	m_pDirPath=new char[MAX_PATH];
}

CBrowseFolder::~CBrowseFolder()
{
	delete m_pDirPath;
}

int CBrowseFolder::DoModal(CWnd *pParentWnd,const char *pStartPath)
{
	LPMALLOC pMalloc;
	if(SHGetMalloc(&pMalloc)!=NOERROR)
		return -1;
	if(pStartPath && IsValuePath(pStartPath))
	{
		char *pStr=m_pDirPath;
		while(*pStr++=*pStartPath++);
	}
	BROWSEINFO bInfo={pParentWnd->m_hWnd,NULL,0,"请选择文件夹:",0,BrowseCallbackProc,(LPARAM) this,0};
	ITEMIDLIST *pItemList=SHBrowseForFolder(&bInfo);
	if(pItemList)
	{
		SHGetPathFromIDList(pItemList,m_pDirPath);
		pMalloc->Free(pItemList);
		pMalloc->Release();
		return TRUE;
	}
	pMalloc->Free(pItemList);
	pMalloc->Release();
	return FALSE;
}

char *CBrowseFolder::GetDirPath()
{
	return m_pDirPath;
}

BOOL CBrowseFolder::IsValuePath(const char *pDirPath)
{
	DWORD dFileAttrib=GetFileAttributes(pDirPath);
	return (dFileAttrib!=0xffffffff && dFileAttrib & FILE_ATTRIBUTE_DIRECTORY)?TRUE:FALSE;
}

⌨️ 快捷键说明

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