把文件删除到回收站,在我们的应用程序中,很少这样设计。为了使已删除文件能被恢复,也有删除至回收站的情况。
这里利用了windows外壳API函数 SHFileOperation。在ShellAPI 单元中,可以找到它的原型,它利用了一个SHFileOpStruct结构传递参数。在调用时,要将该结构内的参数填写好。
在本例中,在From上放置一个测试按钮,点击该按钮删除c:\te\te1.txt文件。
1 | procedure TForm1 . Button1Click(Sender: TObject); |
6 | fname:= 'c:\te\te1.txt' ; |
9 | SF . pFrom:= PChar (fname); |
11 | sf . fFlags:=FOF_ALLOWUNDO; |
如果要将两个或多个文件删除至回收站呢?看下面的代码:
1 | procedure TForm1 . Button2Click(Sender: TObject); |
6 | fname:= 'c:\te\te1.txt' # 0 'c:\te\te2.txt' ; |
9 | SF . pFrom:= PChar (fname); |
11 | SF . fFlags:=FOF_ALLOWUNDO; |
这段代码将文件c:\te\te1.txt与文件c:\te\te2.txt同时删除,在给文件赋值时,文件名之间用空字符串 #0 隔开。