C#:控制文件传输*

本文关键字:传输 文件 控制 | 更新日期: 2023-09-27 17:55:26

我希望有一个在后台运行的程序,侦听任何文件传输,然后取消资源管理器的文件传输机制,并启动它自己的。

我该怎么做? 有没有我可以调用的 dll ?

为什么?

  • 在此过程中过滤某些类型的文件。(自动或提示。
  • "全部否"重复传输选项。
  • 伐木。
  • 不必每次我想传输文件时都启动程序。
  • 进一步了解引擎盖下发生的事情。
  • 不依赖第三方程序。
  • 我将来想到的任何其他功能。

*通过文件传输,我的意思是通过拖放移动/复制文件/文件夹,但我只关心从磁盘到磁盘的文件传输,而不是从互联网传输。

C#:控制文件传输*

定义"文件传输"。

你想嗅探

ftp,http请求吗?资源管理器副本也一样?仅本地还是在网络上?

我认为这势必会变脆。最好的选择是资源管理器允许您通过 shell 扩展名挂钩到文件复制操作。我不确定是否可以做到。

请参阅编写 Shell 扩展的完整白痴指南以获取起点。

另请参阅 http://msdn.microsoft.com/en-us/library/cc144063(v=vs.85).aspx

在我开始之前: 这会很糟糕,但尽管如此:

对于 Vista/7:

你需要钩子

(钩子)

共同创建 IFileOperation 的实例,然后从那里更改您需要的内容。

然而,这在XP上不起作用,而且可能非常脆弱,在某些PC上工作,而在其他PC上则不能,因为从API的角度来看,有数百万种方法可以在Windows上做同样的事情。