社区
硬件/系统
帖子详情
什么函数可以删除一个目录和里面所有的东西?
jamout
2003-08-23 10:29:01
什么函数可以删除一个目录和里面所有的东西?
不用MFC, window api 里有这种函数吗 ?
...全文
34
3
打赏
收藏
什么函数可以删除一个目录和里面所有的东西?
什么函数可以删除一个目录和里面所有的东西? 不用MFC, window api 里有这种函数吗 ?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flinming
2003-08-23
打赏
举报
回复
给你一个没有公开的api函数,自己查查msdn SHFILEOPSTRUCT 看看参数变化
void DelDirectory()
{
char *File = "d:\\temp";
SHFILEOPSTRUCT op;
ZeroMemory(&op, sizeof(op));
op.hwnd = HWND_DESKTOP;
op.wFunc = FO_DELETE; //修改这个参数,就可以变成拷贝,移动
op.pFrom = File;
op.fFlags= FOF_ALLOWUNDO; //不要对话筐
op.fFlags=FOF_SILENT|FOF_NOCONFIRMATION ;
SHFileOperation( &op);
}
zhouyong0371
2003-08-23
打赏
举报
回复
我自己写的:
BOOL DeletePath(LPTSTR lpsPath)
{
HANDLE hFile;
WIN32_FIND_DATA WFD;
CHAR Path[MAX_PATH];
LPTSTR lpcsPathParent;
memset(Path,0,MAX_PATH);
lpcsPathParent=Path;
strcpy(lpcsPathParent,lpsPath);
strcat(lpcsPathParent,"\\*");
if((hFile=FindFirstFile(lpcsPathParent,&WFD))==INVALID_HANDLE_VALUE)
return FALSE;
//发送第一个文件信息
if(strcmp(WFD.cFileName,".")!=0 &&
strcmp(WFD.cFileName,"..")!=0)
{
if(WFD.dwFileAttributes&
FILE_ATTRIBUTE_DIRECTORY)
{
CHAR cPath[MAX_PATH];
LPTSTR lpcsPath;
memset(cPath,0,MAX_PATH);
lpcsPath=cPath;
strcpy(lpcsPath,lpsPath);
strcat(lpcsPath,"\\");
strcat(lpcsPath,WFD.cFileName);
DeletePath(lpcsPath);
//只读的文件夹不能被删除,改变属性。
if(WFD.dwFileAttributes&
FILE_ATTRIBUTE_READONLY)
{
SetFileAttributes(lpcsPath,FILE_ATTRIBUTE_NORMAL);
}
::RemoveDirectory(lpcsPath);
}
else
{
CHAR cPath[MAX_PATH];
LPTSTR lpcsPath;
memset(cPath,0,MAX_PATH);
lpcsPath=cPath;
strcpy(lpcsPath,lpsPath);
strcat(lpcsPath,"\\");
strcat(lpcsPath,WFD.cFileName);
//只读的文件不能删除,改变属性
if(WFD.dwFileAttributes&
FILE_ATTRIBUTE_READONLY)
{
SetFileAttributes(lpcsPath,FILE_ATTRIBUTE_NORMAL);
}
DeleteFile(lpcsPath);
}
}
while(hFile)
{
//查完所有信息
if(FindNextFile(hFile,&WFD))
{
if(strcmp(WFD.cFileName,".")==0||
strcmp(WFD.cFileName,"..")==0)
continue;
if(WFD.dwFileAttributes&
FILE_ATTRIBUTE_DIRECTORY)
{
CHAR cPath[MAX_PATH];
LPTSTR lpcsPath;
memset(cPath,0,MAX_PATH);
lpcsPath=cPath;
strcpy(lpcsPath,lpsPath);
strcat(lpcsPath,"\\");
strcat(lpcsPath,WFD.cFileName);
//::MessageBox(NULL,lpcsPath,"path",MB_OK);
DeletePath(lpcsPath);
//只读的文件夹不能删除,改变属性
if(WFD.dwFileAttributes&
FILE_ATTRIBUTE_READONLY)
{
SetFileAttributes(lpcsPath,FILE_ATTRIBUTE_NORMAL);
}
RemoveDirectory(lpcsPath);
}
else
{
CHAR cPath[MAX_PATH];
LPTSTR lpcsPath;
memset(cPath,0,MAX_PATH);
lpcsPath=cPath;
strcpy(lpcsPath,lpsPath);
strcat(lpcsPath,"\\");
strcat(lpcsPath,WFD.cFileName);
//只读的文件不能删除,改变属性
if(WFD.dwFileAttributes&
FILE_ATTRIBUTE_READONLY)
{
SetFileAttributes(lpcsPath,FILE_ATTRIBUTE_NORMAL);
}
DeleteFile(lpcsPath);
}
}
else
{
if(GetLastError()==ERROR_NO_MORE_FILES)
break;
}
}
FindClose(hFile);
return TRUE;
}
lpsPath可以用RemoveDirectory(lpsPath);
就可以了
theone
2003-08-23
打赏
举报
回复
SHFileOperation
Excel
函数
100问
初学Excel
函数
你是否总有一种无力感? 工作中遇到问题时,不知道用什么
函数
来解决?
函数
的单词都认识,但一用它来写公式,要么写不出来,要么结果不对,更别说编写嵌套公式 那些
函数
名称、
函数
参数的作用总是记不住,...
python如何查看模块中的
函数
_如何列出Python模块中的所有
函数
?
回答(15)2 years ago为了完整性,我想指出有时您可能想要解析代码而不是导入代码 . import 将执行顶级表达式,这可能是个问题 .例如,我让用户为使用...相反,我使用ast模块列出所有顶级
函数
:import astimport s...
Python 用递归
删除
文件夹
里面
所有文件夹和文件
学了python的文件操作后发现,python
删除
不为空的文件夹会报错,需要先把文件夹
里面
的
东西
全部删掉,如果
里面
还有非空的文件夹,还要把它
里面
的
东西
全部
删除
掉,非常麻烦,琢磨了一下,觉得可以用递归简化这个问题. ...
python自学篇——PyGame模块的所有功能
函数
详解
它包含python
函数
和类,允许您使用SDL对播放cdroms、音频和视频输出以及键盘、鼠标和操纵杆输入的支持。 ☛点我一键到底☚ ????????????☝????????有疑问欢迎写信哦 游戏首页 文件 自述 关于游戏的基本信息:它...
函数
和方法:
函数
到底是啥?
我们经常使用
函数
,这引用,那调用,那到底
函数
是个什么
东西
呢?这个问题有没有人想过。
函数
在Java的使用很频繁,
函数
的主要目的是为了提高程序的复用性和可读性。
函数
是定义在类中的一段独立的代码块,用来实现...
硬件/系统
2,640
社区成员
17,239
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章