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

📄 fileinfo.cpp

📁 所有压缩格式的压缩解压缩。
💻 CPP
字号:
#include "stdafx.h"
#include "fileinfo.h"

////////////////////////////////
CString GetFileExt(LPCTSTR lpszFilePath)
{
	TCHAR szExt[_MAX_EXT];
	_tsplitpath(lpszFilePath, NULL, NULL, NULL, szExt);
	return CString(szExt);
}
CString GetFileName(LPCTSTR lpszFullName)
{
	TCHAR szFName[_MAX_FNAME];
	TCHAR szExt[_MAX_EXT];
	_tsplitpath(lpszFullName, NULL, NULL, szFName, szExt);
	CString sz=szFName;
	return sz+szExt;
}
int GetFileIcon(LPCTSTR lpszFileName,BOOL IsDirectory,BOOL bSelected)
{
	SHFILEINFO    sfi;

	DWORD dwAttributes=(IsDirectory)?
				FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_ARCHIVE;
	UINT uFlags=SHGFI_SYSICONINDEX|SHGFI_USEFILEATTRIBUTES;
	if (bSelected) uFlags|=SHGFI_OPENICON;

	SHGetFileInfo(lpszFileName, 
					dwAttributes,
					&sfi,
					sizeof(SHFILEINFO),
					uFlags);

	return sfi.iIcon;
}
CString GetFileTypeName(LPCTSTR lpszFileName,BOOL IsDirectory)
{
	SHFILEINFO    sfi;

	DWORD dwAttributes=(IsDirectory)?
				FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_ARCHIVE;
	UINT uFlags=SHGFI_TYPENAME |SHGFI_USEFILEATTRIBUTES;

	SHGetFileInfo(lpszFileName, 
					dwAttributes,
					&sfi,
					sizeof(SHFILEINFO),
					uFlags);
	if (sfi.szTypeName[0])
		return CString(sfi.szTypeName);
	else
	{
		CString sz=GetFileExt(lpszFileName);
		sz.Delete(0);sz.MakeUpper();
		sz+=" 文件";
		return sz;
	}
}
///////////////////////////////////////////////////////
void DelDirTree(LPCTSTR lpszDirectory)
{
	CFileFind ff;
	CString fn(lpszDirectory);

	if (fn[fn.GetLength()-1]=='\\')
		fn+="*.*";
	else
		fn+="\\*.*";

	BOOL bWorking=ff.FindFile(fn);
	while (bWorking)
	{
		bWorking=ff.FindNextFile();

		fn=ff.GetFileName();
		if (!(fn=="."||fn==".."))
		{
			fn.Empty();
			if (ff.IsDirectory())
				DelDirTree(ff.GetFilePath());
			else
				DeleteFile(ff.GetFilePath());
		}
	}
	ff.Close();

	RemoveDirectory(lpszDirectory);
}

⌨️ 快捷键说明

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