删除指定文件夹以及文件下的文件

BOOL CNewObject::DeleteFolder(LPCTSTR lpszPath)//删除文件夹以及文件夹内的文件
{ 
	SHFILEOPSTRUCT FileOp; 
	SecureZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));//secureZeroMemory和ZeroMerory的区别
	//根据MSDN上,ZeryMerory在当缓冲区的字符串超出生命周期的时候,
	//会被编译器优化,从而缓冲区的内容会被恶意软件捕捉到。
	//引起软件安全问题,特别是对于密码这些比较敏感的信息而说。
	//而SecureZeroMemory则不会引发此问题,保证缓冲区的内容会被正确的清零。
	//如果涉及到比较敏感的内容,尽量使用SecureZeroMemory函数。

	FileOp.fFlags = FOF_NOCONFIRMATION;		//操作与确认标志 
	FileOp.hNameMappings = NULL;			//文件映射 
	FileOp.hwnd = NULL;				//消息发送的窗口句柄;
	FileOp.lpszProgressTitle = NULL;		//文件操作进度窗口标题 
	FileOp.pFrom = lpszPath;			//源文件及路径 
	FileOp.pTo = NULL;				//目标文件及路径 
	FileOp.wFunc = FO_DELETE;			//操作类型 

	return SHFileOperation(&FileOp) == 0;
}


 
 
 

你可能感兴趣的:(mfc,Path,删除文件,删除文件夹)