• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Huangsir
博客园    首页    新随笔    联系   管理    订阅  订阅

[转] 文件夹监测

from:http://www.cnblogs.com/wukaibo/archive/2011/04/05/2006179.html

public static FileSystemWatcher watcher = new FileSystemWatcher();

当然问题的解决这样未免有点太轻松了!接下来就是为对watcher 的事件捕获并进行相应处理,代码如下:

watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created
+= new FileSystemEventHandler(OnChanged);
watcher.Deleted
+= new FileSystemEventHandler(OnChanged);
watcher.Renamed
+= new RenamedEventHandler(OnRenamed);

相信看我问东东的同仁们到现在也就知道怎么做了,再次不再赘述。另外就是由于文件夹的检测所以会触及到系统安全,所以在程序之中程序的权限设置就显得很有必要,在程序之中加入下面的代码,能有效地避免程序被误认为是非法操作。

[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]

到此,整个程序的主要功能更就完了,另外就是一个开机启动的设置和取消,另外就是监测报告!这些问题,开机启动的设置和取消是windows的注册表编程,也就不卖关子了,直接给大家代码吧:
private void AutoRun_CheckedChanged(object sender, EventArgs e)
{
if (AutoRun.Checked)//开机自动启动
{
try
{
RegistryKey runKey
= Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
runKey.SetValue(
"文件夹监测.exe", System.Windows.Forms.Application.ExecutablePath);
runKey.Close();
}
catch (IOException)
{
return ;
}
}
else //不开机自动启动注册表信息删除
{
RegistryKey software
= Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
string[] aimnames = software.GetValueNames();
foreach (string aimKey in aimnames)
{
if (aimKey.Equals("文件夹监测.exe"))
{
software.DeleteValue(
"文件夹监测.exe") ;
software.Close();
break;
}
}
}
}

posted on 2011-04-06 10:13  huangsir  阅读(90)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3