.NET 下的文件夹监测系统
来源:互联网 发布:淘宝学生春秋外套 编辑:程序博客网 时间:2024/04/30 02:28
最近遇到一个项目,在项目之中想监测一个文件夹里面文件的变化情况,另外想做成开机启动,并且能够提醒客户,便于客户做出相应的动作。
在网上搜集了不少的东西,对这个我这个东西起了不少的作用,但是总是零零碎碎的,最后还是跌跌撞撞的写出来了,测试了一下还行,本人本着互联网的互助原则,将这个小东西放在网上,希望能对大家有一个抛砖引玉的作用,同时也希望大家能多提意见!呵呵…转入正题吧。
在网上搜索了一下http://www.hackchina.com/cont/27825网站是一个老外的东西,还是比较好用,但是源代码没能下载下来!嘿嘿…可能点背。所以就下决心自给自足了。
其实程序的核心类就是.net的一个控件 ,但是当时没有发现,做完以后有一种被捉弄的感觉,呵呵…大家仅供借鉴!
本人在程序里面没有直接用控件,代码如下:
1
public
static
FileSystemWatcher watcher =
new
FileSystemWatcher();
当然问题的解决这样未免有点太轻松了!接下来就是为对watcher 的事件捕获并进行相应处理,代码如下:
1
watcher.Changed +=
new
FileSystemEventHandler(OnChanged);
2
watcher.Created +=
new
FileSystemEventHandler(OnChanged);
3
watcher.Deleted +=
new
FileSystemEventHandler(OnChanged);
4
watcher.Renamed +=
new
RenamedEventHandler(OnRenamed);
1
相信看我问东东的同仁们到现在也就知道怎么做了,再次不再赘述。另外就是由于文件夹的检测所以会触及到系统安全,所以在程序之中程序的权限设置就显得很有必要,在程序之中加入下面的代码,能有效地避免程序被误认为是非法操作。
1
[PermissionSetAttribute(SecurityAction.Demand, Name =
"FullTrust"
)]
1
到此,整个程序的主要功能更就完了,另外就是一个开机启动的设置和取消,另外就是监测报告!这些问题,开机启动的设置和取消是windows的注册表编程,也就不卖关子了,直接给大家代码吧:
01
private
void
AutoRun_CheckedChanged(
object
sender, EventArgs e)
02
{
03
if
(AutoRun.Checked)
//开机自动启动
04
{
05
try
06
{
07
RegistryKey runKey = Registry.LocalMachine.OpenSubKey(
@"SOFTWARE/Microsoft/Windows/CurrentVersion/Run"
,
true
);
08
runKey.SetValue(
"文件夹监测.exe"
, System.Windows.Forms.Application.ExecutablePath);
09
runKey.Close();
10
}
11
catch
(IOException)
12
{
13
return
;
14
}
15
}
16
else
//不开机自动启动注册表信息删除
17
{
18
RegistryKey software = Registry.LocalMachine.OpenSubKey(
@"SOFTWARE/Microsoft/Windows/CurrentVersion/Run"
,
true
);
19
string
[] aimnames = software.GetValueNames();
20
foreach
(
string
aimKey
in
aimnames)
21
{
22
if
(aimKey.Equals(
"文件夹监测.exe"
))
23
{
24
software.DeleteValue(
"文件夹监测.exe"
) ;
25
software.Close();
26
break
;
27
}
28
}
29
}
30
}
这些就是开机启动的设置以及取消代码。另外程序可以类似于QQ做消息(文件夹变动消息)提示,当然这些都是一些小把戏,大家应该比我懂得多,我就不献丑了,现在就讲运行的结果展示一下:
这是启动界面:
上面是软件的启动界面,当然上面有我的QQ以及邮箱,大家有什么指教的,这些联系方式一般都是可以找到的,除非我睡觉,呵呵…
这是程序的程序开始监测的结果:
上面是运行效果,下面是最小化到托盘、以及消息提示如下图展示:
红色矩形的就是运行的检测程序.代码程序里面很全面.
监测提示,就不在截图了!要不就太没水准了!呵呵…
- .NET 下的文件夹监测系统
- NET 下的文件夹监测系统
- .NET不用控件实现文件夹监测系统
- net实现基础的舆情监测系统思路
- Linux系统下如何监测C程序的内存泄露
- liunx下的系统性能监测工具——Nmon
- windows系统下的进程监测程序--实现过程记录
- 在线程中监测文件夹的变化,并获得通知 【C++ Builder下例子】
- asp.net下App_Data文件夹的作用
- 两系统下的遍历文件夹
- Linux系统下每个文件夹的作用
- CentOS系统下各文件夹的作用
- macOS系统下的文件夹加密
- [VB.NET]怎样才能在自己的程序自动运行后获得系统中被点击文件夹的路径?(下)
- .NET中如何访问被系统保护的文件夹
- .NET中如何访问被系统保护的文件夹
- .NET中如何访问被系统保护的文件夹
- C++监测文件夹变化
- 如何解决List集合类数据源变更UI不能自动刷新的问题
- CSDN 这网站感觉还行
- __declspec(dllexport)/__declspec(dllimport)
- 读书中的无奈
- Java接口和抽象Java类
- .NET 下的文件夹监测系统
- 提防社交网站LBS服务的安全隐患
- 描述ADO .NET命令影响数据源说明
- Android APK文件拆解方法
- 让侦测工具把壳识别为VC++7.0的源代码(自动版)
- 选择成既定or既定的选择?
- 《奇特的一生》书中摘要
- Oracle 分页查询(转)
- Linux(Fedora 9) HL340 USB 转串口 驱动安装