阅读:1283回复:11
文件夹剪切的操作如何截获?
文件拷贝与剪切的操作可以截获到,可是截获他们的方法却截获不了文件夹的剪切,那么文件夹的剪切操作如何截获呢?
|
|
沙发#
发布于:2005-01-06 09:13
文件拷贝与剪切的操作可以截获到,可是截获他们的方法却截获不了文件夹的剪切,那么文件夹的剪切操作如何截获呢? 说说你的拷贝和剪切如何实现的 |
|
|
板凳#
发布于:2005-01-06 10:04
通过过滤IRP_MJ_SET_INFORMATION来实现的。在这个Irp中有一个FileRenameInformation的参数时则说明是剪切的操作。而拷贝的操作则是过滤IRP_MJ_WRITE即可。
可是以上方法过滤不了文件夹的剪切,有没有什么方法? |
|
地板#
发布于:2005-01-06 10:33
文件剪切可以分为两种:
1。同一驱动器下,则为改名,用你说的IRP_SET_INFORMATION就可以实现; 2。而如果不在同一驱动器下,则包括了两个操作:生成新文件,删除源文件; 我试了一下,第一种情况,文件和文件夹都没有问题的。主要是得想办法解决第二种情况。 |
|
|
地下室#
发布于:2005-01-06 13:57
通过过滤IRP_MJ_SET_INFORMATION来实现的。在这个Irp中有一个FileRenameInformation的参数时则说明是剪切的操作。而拷贝的操作则是过滤IRP_MJ_WRITE即可。
可是以上方法过滤不了文件夹的剪切,有没有什么方法? 老大,这样不行吧,你在IRP_MJ_WRITE中的过滤规则是什么? |
|
5楼#
发布于:2005-01-06 14:35
lsq77:
拷贝的操作就包括IRP_MJ_WRITE,当然可以。 fslife: “我试了一下,第一种情况,文件和文件夹都没有问题的。”你是怎么实现的,我怎么不行呢? [编辑 - 1/6/05 by cicada] |
|
6楼#
发布于:2005-01-06 14:51
可是没法区分是拷贝和写入等啊,例如写入时就也产生IRP_MJ_WRITE
|
|
7楼#
发布于:2005-01-06 15:47
可是没法区分是拷贝和写入等啊,例如写入时就也产生IRP_MJ_WRITE 我分不出来。我说的是“拷贝的操作就包括IRP_MJ_WRITE”。 |
|
8楼#
发布于:2005-01-11 16:19
哪位老大能说得更清楚、更具体一些?
|
|
9楼#
发布于:2005-01-13 08:35
欢迎积极响应!!
|
|
10楼#
发布于:2005-01-13 08:51
个人认为文件剪切截获的最佳方法就是Hook剪切板函数。
|
|
|
11楼#
发布于:2005-01-17 17:03
内核剪切板函数有哪些?
|
|