日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

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

發布時間:2024/5/28 C# 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 系统应用之清空回收站操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于畢業設計項目是基于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")] //聲明API函數 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")] //聲明API函數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# 系统应用之清空回收站操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。