天天看點

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# 系統應用之清空資源回收筒操作

最後希望該文章對大家有所幫助,如果有不足或錯誤的地方見諒!由于參考的令幾篇文章都是轉載,沒有找到原作者,但同樣感謝!

繼續閱讀