如何将文件移动到回收站

14

我需要将一个文件移动到回收站中在.net 2003中实现。

我从引用中添加了microsft.visualbasic.runtime dll,但我无法获取filesystem.deletedirectory,那么该怎么办呢?有人可以帮帮我吗?


你试过谷歌搜索吗?http://www.google.com/search?q=C%23+delete+file+to+recycle+bin - abatishchev
关闭一个问题应该有一个“在谷歌上太容易找到答案”的理由。 - Matt Hamilton
同意,你真的应该先尝试谷歌。或者至少报告一下你尝试过什么? - Davy Landman
1
我也同意Matt的观点。很有可能这个人只是注册了账号来问这个问题,然后在得到答案之前就找到了解决方法,然后再也没有回复过。 - Marcus L
6
当我搜索时,这个问题是谷歌的首要结果。难道stackoverflow不应该是程序员问题和答案的全面数据库,而不仅仅是填补空白的地方吗? - gillonba
显示剩余2条评论
5个回答

24

我发现了这个,不知道是否有效,但可以尝试一下。

using Microsoft.VisualBasic;

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

编辑:来自Nifle的明智之言: 只需记得添加对Microsoft.VisualBasic.dll的引用即可


+1 这确实有效。我本来也要发同样的答案。 - Nifle
3
请记得添加对 Microsoft.VisualBasic.dll 的引用。 - Nifle
顺便提一下,根据Reflector显示,它使用了P/Invoke。 - abatishchev

2
基本上,在引用顶部和实际调用方法之间,您需要完整的名称(在添加库之后)。
您可以完全调用它:
Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory(
    path,
    FileIO.UIOption.OnlyErrorDialogs,
    RecycleOption.SendToRecycleBin);

或者您可以将参考文献添加到其他内容的顶部:

using Microsoft.VisualBasic.FileIO

然后

FilesSystem.DeleteDirectory( etc );

0

你有吗?

using Microsoft.VisualBasic.FileIO;

在你的页面顶部?


0

这个可能会对你有所帮助。看起来你需要添加对Microsoft.VisualBasic.dll的引用或使用P/Invoke。


0

使用

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

需求:使用 00:00:00.4036573 的时间删除一个文件。

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

只需要 00:00:00.1107684 的时间就可以删除一个文件。

可以在这里找到实现方法: 将文件发送到回收站


@xmenW.K. 抱歉,这太久远了,但我想我使用了1000个生成的文件,并将用于删除它们的时间分割以获得平均时间;-) - jwillmer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接