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

发布时间:2025-01-07 05:54

如何清空回收站:右键点击回收站,选择‘删除’,确认后会进入回收站 #生活常识# #日常生活技巧# #基础电脑操作#

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

一.SHEmptyRecycleBin函数

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

HRESULT SHEmptyRecycleBin(

HWND hwnd, //父窗口句柄

LPCTSTR pszRootPath, //将要清空的回收站的地址

DWORD dwFlags //用于清空回收站的功能参数

);

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

const int SHERB_NOCONFIRMATION = 0x000001;

const int SHERB_NOPROGRESSUI = 0x000002;

const int SHERB_NOSOUND = 0x000004;

清空回收站中的文件的SHEmptyRecycleBin是一个内核API方法,该方法在C#中需要手动的引入方法所在的类库.同时因为调用了Windows API,所以要添加对System.Runtime.IneropServices命名空间的引用;该方法在C#中的声明语法如下:

DllImportAttribute("shell32.dll")]

private static extern int SHEmptyRecycleBin(IntPtr handle, string root, int falgs);

二.源代码

程序代码如下:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Runtime.InteropServices;

namespace ClearRecycle

{

public partial class Form1 : Form

{

const int SHERB_NOCONFIRMATION = 0x000001;

const int SHERB_NOPROGRESSUI = 0x000002;

const int SHERB_NOSOUND = 0x000004;

public Form1()

{

InitializeComponent();

}

[DllImportAttribute("shell32.dll")]

private static extern int SHEmptyRecycleBin(IntPtr handle, string root, int falgs);

private void button1_Click(object sender, EventArgs e)

{

SHEmptyRecycleBin(this.Handle, "", SHERB_NOCONFIRMATION + SHERB_NOPROGRESSUI + SHERB_NOSOUND);

}

}

}

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

三.运行结果

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

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

该文章主要是结合自己的毕业设计部分,同时查看相应书籍和参考下面几位博主完成.是一篇基础性应用文章,希望大家关注level up的文章,他的文章真心有用,似乎是台湾的一位智者.也将是我将来学习的主要对象.非常感谢他带来这么有用的系列文章.http://www.dotblogs.com.tw/larrynung/archive/2012/09/26/75065.aspx
最后希望该文章对大家有所帮助,如果有不足或错误的地方见谅!由于参考的令几篇文章都是转载,没有找到原作者,但同样感谢!
(By:Eastmount 2014-1-17 晚9点http://blog.csdn.net/eastmount)

网址:C# 系统应用之清空回收站操作 https://www.yuejiaxmz.com/news/view/660478

相关内容

Win10系统怎么深度清理C盘?Win10系统深度清理C盘操作方法
Windows 11系统下深度清理C盘空间的详细操作指南与实用技巧
​windows系统自带的c盘清理工具(快速释放C盘空间)
操作系统——内存管理(一文搞懂操作系统的内存管理)
C盘深度清理技巧:系统优化与病毒防护
【操作系统
如何给C盘瘦身?这十种Windows系统盘清理方法请牢记
彻底清理c盘垃圾怎么操作?彻底清理c盘垃圾操作方法【步骤详解】
Windows11 C盘空间高效释放:详尽操作攻略与隐藏技巧
Win10回收站清空了怎么办?Win10如何恢复回收站删除的文件

随便看看