📄 fileinfo.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 + -