文件夹删除/清空
来源:互联网 发布:大数据人工智能培训 编辑:程序博客网 时间:2024/05/12 10:24
代码:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI, cxShellBrowserDialog, StdCtrls;type TForm1 = class(TForm) btn1: TButton; cxshlbrwsrdlg1: TcxShellBrowserDialog;//控件 procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure ClearDir(AHandle: THandle; const ADirName: String); //uses ShellAPIvar SHFileOpStruct: TSHFileOpStruct; DirName: PChar; BufferSize: Cardinal;begin BufferSize := Length(ADirName) + 1 + 1; GetMem(DirName, BufferSize); try FillChar(DirName^, BufferSize, 0); StrCopy(DirName, PChar(ADirName)); with SHFileOpStruct do begin Wnd := AHandle; wFunc := FO_DELETE; pFrom := DirName; pTo := nil; fFlags := FOF_SILENT or FOF_ALLOWUNDO or FOF_NOCONFIRMATION; fAnyOperationsAborted := False; hNameMappings := nil; lpszProgressTitle := nil; end; SHFileOperation(SHFileOpStruct); MkDir(ADirName);//注释掉该行就是删除文件夹 finally FreeMem(DirName, BufferSize); end;end;procedure TForm1.btn1Click(Sender: TObject);var forderpath: string;begin cxshlbrwsrdlg1.path := 'c:\'; if not cxshlbrwsrdlg1.Execute then begin exit; end; forderpath := cxshlbrwsrdlg1.path; ClearDir(Self.Handle, forderpath);end;end.
function DeleteFolder(SourceDir: string): boolean;var lpFileOp: TSHFileOpStruct;begin if DirectoryExists(SourceDir) then begin zeromemory(@lpFileOp, SizeOf(TSHFileOpStruct)); with lpFileOp do begin Wnd := Application.Handle; wfunc := FO_DELETE; pFrom := pchar(SourceDir + #0#0); pTo := nil; // fFlags := FOF_ALLOWUNDO or FOF_CONFIRMMOUSE; fFlags := FOF_SILENT or FOF_ALLOWUNDO or FOF_NOCONFIRMATION; hNameMappings := nil; // 'test';//SourceDir; lpszProgressTitle := nil; fAnyOperationsAborted := false; end; Result := SHFileOperation(lpFileOp) = 0; end;end;
- 文件夹删除/清空
- 清空文件夹,或删除文件夹
- Qt 清空文件夹,删除非空文件夹
- C#删除和清空文件夹
- 【路径相关方法】5,清空删除文件夹
- C#删除和清空文件夹的程序
- C#删除和清空文件夹的程序
- C#删除和清空文件夹的程序
- ShFileOperation清空文件夹
- C#清空文件夹
- C++清空文件夹
- c++清空文件夹
- 清空文件夹的代码
- android 清空指定文件夹
- Lua文件夹及文件操作(清空文件夹下所有文件、创建多级文件夹、删除文件夹所有文件等)
- SQL2008 删除 清空日志
- SQL2008清空删除日志
- SQL2008清空删除日志
- 挂接在/sys上的对LED灯控制的驱动
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Linux内核抢占实现机制分析
- 线性表的使用
- 国产InitPHP框架系列 - InitPHP3.2.1 发布
- HDU1424搬寝室
- 文件夹删除/清空
- SQL语句 SELECT LIKE用法详解
- a和&a有什么区别
- SQL SERVER error:40 错误:53
- USACO Section 1.3
- 基础备忘:友元——友元函数,友元成员,友元类
- HDU1558 Segment set(计算几何+并查集)
- Linux下32位和64位机整数数据类型
- ASP.NET Page指令的一些常用属性