karthik
karthik

Reputation:

How to Move files to the recycle bin

I need to Move a file to recycle bin in .net 2003

I added microsft.visualbasic.runtime dll from refrence, but I could not able to get filesystem.deletedirectory, So what to do..Can any one help me?

Upvotes: 14

Views: 9597

Answers (5)

jwillmer
jwillmer

Reputation: 3789

Using

FileIO.FileSystem.DeleteDirectory(path, FileIO.UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);

needs: 00:00:00.4036573 to delete one file. Using

[DllImport("shell32.dll", CharSet = CharSet.Auto)]
private static extern int SHFileOperation(ref SHFILEOPSTRUCT FileOp);

only needs: 00:00:00.1107684 to delete one file.

An implementation can be found there: Send a File to the Recycle Bin

Upvotes: 0

Deadly-Bagel
Deadly-Bagel

Reputation: 1620

Basically, between the reference at the top and actually calling the method you need the full name (after adding the library of course)

You can either fully call it:

Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory(
    path,
    FileIO.UIOption.OnlyErrorDialogs,
    RecycleOption.SendToRecycleBin);

OR you can add the reference to the top with the others:

using Microsoft.VisualBasic.FileIO

and then

FilesSystem.DeleteDirectory( etc );

Upvotes: 2

cjk
cjk

Reputation: 46475

Have you got a

using Microsoft.VisualBasic.FileIO;

at the top of your page?

Upvotes: 0

Marcus L
Marcus L

Reputation: 4078

I found this, don't know if it works, but it's worth a shot.

using Microsoft.VisualBasic;

string path = @"c:\myfile.txt";
FileIO.FileSystem.DeleteDirectory(path, FileIO.UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);

EDIT: Wise words from Nifle: Just remember to add a reference to Microsoft.VisualBasic.dll

Upvotes: 24

Jakob Christensen
Jakob Christensen

Reputation: 14956

This might help you. Looks like you need to either add a reference to Microsoft.VisualBasic.dll or use P/Invoke.

Upvotes: 0

Related Questions