حذف عنصر واحد من سلة المحذوفات
-
12-09-2019 - |
سؤال
هل هناك أي طريقة في C # (Interop ربما) لحذف ملف معين في سلة المحذوفات بشكل دائم؟
أثناء البحث على الإنترنت، وجدت فقط طرقا للحذف بنظام إعادة التدوير وليس من. أنا أيضا لا أريد إفراغ الصندوق بأكمله، فقط ملف معين فقط. العنصر المحدد موجود بالفعل في سلة المحذوفات.
كيف يمكنني أن أفعل هذا؟
تعديل:
- لم أضع الملف هناك نفسي، ولا برنامجي. شخص آخر فعل ذلك ليس لدي أي سيطرة على ذلك.
- بحث Windows بطريقة أو بأخرى من العثور على ملفي ...؟!
لقد وجدت شيئا آخر، يمكنني في الواقع العثور على ملف في C: recycler مع امتداد الملف نفسه ولكن اسم مختلف. فكيف يمكنني معرفة ما إذا كان هذا هو حقا الملف الذي أبحث عنه؟
المحلول
بناء على ما يلي نشر على .netmonster.
تحتاج إلى التحقق من pinvoke.
نصائح أخرى
using Shell32;
var shl = قذيفة جديدة ()؛
// Get recycle folder
Folder Recycler = Shl.NameSpace(10);
FolderItems items = Recycler.Items();
for (int i = 0; i < items.Count; i++)
{
try
{
FolderItem FI = items.Item(i);
string FileName = Recycler.GetDetailsOf(FI, 0);
string FilePath = Recycler.GetDetailsOf(FI, 1);
string RecyleDate = Recycler.GetDetailsOf(FI, 2);
if (FileName == "your file/folder")
{
// check if chosen item is a folder
if (FI.IsFolder)
{
Directory.Delete(FI.Path, true);
}
else
{
File.Delete(FI.Path);
}
}
}
catch (Exception exc)
{
...
}
نأمل أن يكون ذلك مفيدا. تناسبني )
لم أحاول ذلك أبدا ولكن يمكنك البحث عن العنصر الذي تريد حذفه في المجلد المخفي "Recycler" أن كل وحدة لديها، وحذفها.
قد يكون هذا سؤالا غبي، ولكن هل انتهى الملف في إعادة التدوير لأن برنامجك وضعه هناك؟ إذا كان الأمر كذلك، فيمكنك فقط حذف الملف باستخدام عمليات الملفات العادي وتجاوز سلة المحذوفات بالكامل.