首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
C#
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
关于使用c#写一个监控文件夹的钩子,在线等待
[无满意答案结贴,结贴人:gpfqweasd]
加为好友
发送私信
在线聊天
gpfqweasd
长空
等级:
发表于:
2008-05-14 16:08:09
楼主
这几天公司让我写一个能够监控文件夹中文件大小变化的东东,查阅大量资料后,还有一些迷惑,特发此贴求高人指教
先说一下需求:
就是在当删除一个文件的时候需要钩子勾住,然后可一做一些动作 比如获取文件的大小
在好多的论坛里看到采用钩子和finfirstchangenotification API接口相结合来实现,请问有没有具体的实例
然后我看到好多钩子安装的方法有两种:一种是编写成独立的dll然后注册安装 另一种是使用SetWindowsHookEx api函数请问这两中方法有什么区别 文件夹监控用哪个比较好。
问题点数:
100
回复次数:
16
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
funlove999
等级:
发表于:
2008-05-14 16:10:24
1
楼 得分:
0
顶一下
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
csdnshao
如水人生
等级:
发表于:
2008-05-14 16:13:14
2
楼 得分:
0
c#有这功能,没有这么麻烦
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
noky
孤狼傲血
等级:
发表于:
2008-05-14 16:13:32
3
楼 得分:
0
为什么要使用钩子呢,用 FileSystemWatcher不就行了吗?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ericzhangbo1982111
Kamui(湿他就湿他)
等级:
发表于:
2008-05-14 16:15:09
4
楼 得分:
0
FileSystemWatcher
用这个就可以了
FileSystemWatcher watcher = new FileSystemWatcher("D:\\test");
watcher.Deleted += new FileSystemEventHandler(watcher_Deleted);
void watcher_Deleted(object sender, FileSystemEventArgs e)
{
//todo;
}
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yagebu1983
yagebuqq
等级:
发表于:
2008-05-14 16:19:48
5
楼 得分:
0
引用 4 楼 ericzhangbo1982111 的回复:
FileSystemWatcher
用这个就可以了
FileSystemWatcher watcher = new FileSystemWatcher("D:\\test");
watcher.Deleted += new FileSystemEventHandler(watcher_Deleted);
void watcher_Deleted(object sender, FileSystemEventArgs e)
{
//todo;
}
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gomoku
gomoku
等级:
发表于:
2008-05-14 16:20:00
6
楼 得分:
0
不要用钩子。你可以用FileSystemWatcher,你先看看这篇微软文章:
Introduction to Monitoring File System Events
http://msdn.microsoft.com/en-us/library/ch2s8yd7(VS.71).aspx
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
net0003
走别人的路,让别人无路可走
等级:
发表于:
2008-05-14 16:21:01
7
楼 得分:
0
学习
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
csdnshao
如水人生
等级:
发表于:
2008-05-14 16:23:43
8
楼 得分:
0
fileSystemWatcher
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gpfqweasd
长空
等级:
发表于:
2008-05-14 17:11:28
9
楼 得分:
0
这个只是删除后才触发事件吧,已经删出了也无法得到文件的大小啊?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zzultc
扑通扑通
等级:
发表于:
2008-05-14 22:58:24
10
楼 得分:
0
根据你的需求,你必须使用全局钩子,即HHOOK SetWindowsHookEx(WH_SHELL,HOOKPROC lpfn,HINSTANCE hMod,0);
WH_SHELL表明你监听shell事件,lpfn钩子函数(单独的标准dll文件中),hMod钩子函数所在动态库的模块句柄,0表明是系统钩子。
msdn中搜索SetWindowsHookEx,里边有详细的说明,你也可以到VC/DLL和进程里边问。
特别说明,C#无法写标准dll。但是C#可以调用标准dll.
强烈建议用VC编写。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
virusplayer
virus
等级:
发表于:
2008-05-14 23:14:53
11
楼 得分:
0
楼主别忘了把答案贴上来啊,让我们也学习学习,谢谢
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gpfqweasd
长空
等级:
发表于:
2008-05-15 10:08:04
12
楼 得分:
0
那vc 写标准的dll主要实现一些什么啊 SetWindowsHookEx 又在什么时候用啊?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
mawering
mawering
等级:
发表于:
2008-05-15 10:19:50
13
楼 得分:
0
顶,我也想学点这方面的知识!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ericzhangbo1982111
Kamui(湿他就湿他)
等级:
发表于:
2008-05-15 10:27:31
14
楼 得分:
0
,。。用comimport
实现
ICopyHook接口吧。
具体代码....我环境没有资料,自己google一下吧
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gpfqweasd
长空
等级:
发表于:
2008-05-15 10:36:03
15
楼 得分:
0
我看了一写ICopyHook的资料,写完之后怎么用啊
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
aiyaoo
加紧学习
等级:
发表于:
2008-05-15 10:57:57
16
楼 得分:
0
学习
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
abc推荐给好友