天天看点

C# 系统应用之清空回收站操作

由于毕业设计项目是基于u盘防御的软件,所以涉及些系统应用的知识.本文主要讲述的是如何通过c#代码实现清空回收站的资源.主要通过shemptyrecyclebin函数实现.

shemptyrecyclebin函数功能是清空指定驱动的回收站.函数如下:

该函数在shell32.dll下,其中lpctstr pszrootpath指向要清空的回收站的地址,如果为空时,则清空所有驱动器上的回收站.dwflags参数可以有三个不同的值,可为一个或多个组合,用以设定是否要弹出系统对话框、是否显示删除进度条的ui和当删除完成时,是否播放声音.

清空回收站中的文件的shemptyrecyclebin是一个内核api方法,该方法在c#中需要手动的引入方法所在的类库.同时因为调用了windows api,所以要添加对system.runtime.ineropservices命名空间的引用;该方法在c#中的声明语法如下:

程序代码如下:

代码中dwflags值为“sherb_noconfirmation + sherb_noprogressui + sherb_nosound”表示删除时不显示确认删除对话框,不显示删除过程的进度条,同时不播放声音.如果不指定预设状态,为0时会弹出系统的对话框和声音.

如果shemptyrecyclebin(this.handle,"",0);时提示如下确认删除对话框,如果项目过多时会显示删除的进度条.

C# 系统应用之清空回收站操作

如果删除文件时,没有显示声音,可以通过控制面板上面修改.如下图所示:

C# 系统应用之清空回收站操作

最后希望该文章对大家有所帮助,如果有不足或错误的地方见谅!由于参考的令几篇文章都是转载,没有找到原作者,但同样感谢!

继续阅读