Att*_*lah 5 .net c# delphi winapi
有没有办法在Windows资源管理器中检测复制操作.
有点像SuperCopier:SuperCopier网站?
和操作中涉及的日志文件?这样的?
我浏览过Supercopier代码,我找不到处理检测复制操作的部分,因为我在Delphi中不流畅.
PS:看起来他们正在使用Shell扩展......但不确定.
Mik*_*scu 10
是的你可以.
您必须实现一个必须挂钩文件复制操作的shell扩展.有很多例子说明如何使用C++(使用本机Win32 API)以及使用C#或其他.NET框架语言来完成这些工作.我相信你也可以使用Delphi,但我不知道进行Win32 API调用所涉及的细节.
这篇文章详细介绍了C#中简单shell扩展的实现.
当然,您可能还需要查看Windows文件I/O过滤器,尽管它们只允许您观察文件操作,如创建,复制,更改或删除.在.NET中创建文件I/O过滤器使用System.IO.FileSystemWatcher类是微不足道的,如果您只想检测并记录此类文件复制操作,则可能需要执行此操作.
注意如果您决定在C#中实现shell扩展,您应该知道它只适用于已安装.NET框架的操作系统(您用于创建扩展的版本) - 尽管现在大多数人都至少.NET 1.1和2.0 ..
可以在安装delphi文件夹\ Demos\ActiveX\ShellExt\copyhook.dpr中找到创建复制挂钩外壳扩展的示例.
这里有另外一个例子
再见.