超难的问题, 我想记录用户对D:盘做了什么操作.例如增删改文件夹, 增删改文件.

rockmanhqu 2008-12-12 12:41:52
如题.
应该会有windows消息吧.
C#如何捕获windows消息, 判断是否要的消息.
...全文
156 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ILOVEYOUMYWIFERE 2008-12-12
  • 打赏
  • 举报
回复
up
Joschime 2008-12-12
  • 打赏
  • 举报
回复
up
wosytl 2008-12-12
  • 打赏
  • 举报
回复
up
love_cutezhou 2008-12-12
  • 打赏
  • 举报
回复
up
hangang7403 2008-12-12
  • 打赏
  • 举报
回复
up
wangping_li 2008-12-12
  • 打赏
  • 举报
回复

public class Watcher
{

public static void Main()
{
Run();

}

[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
public static void Run()
{
string[] args = System.Environment.GetCommandLineArgs();

// If a directory is not specified, exit program.
if(args.Length != 2)
{
// Display the proper way to call the program.
Console.WriteLine("Usage: Watcher.exe (directory)");
return;
}

// Create a new FileSystemWatcher and set its properties.
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = args[1];
/* Watch for changes in LastAccess and LastWrite times, and
the renaming of files or directories. */
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
// Only watch text files.
watcher.Filter = "*.txt";

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

// Begin watching.
watcher.EnableRaisingEvents = true;

// Wait for the user to quit the program.
Console.WriteLine("Press \'q\' to quit the sample.");
while(Console.Read()!='q');
}

// Define the event handlers.
private static void OnChanged(object source, FileSystemEventArgs e)
{
// Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
// Specify what is done when a file is renamed.
Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
}
}
http://msdn.microsoft.com/zh-cn/library/system.io.filesystemwatcher.aspx


EveryCase 2008-12-12
  • 打赏
  • 举报
回复
烈火蜓蜻 2008-12-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yangpeiyu 的回复:]
你直接就在用户对文件操作时进行写日志不行吗?
[/Quote]

楼主是要监控所有对D盘操作的记录吧
yangpeiyu 2008-12-12
  • 打赏
  • 举报
回复
你直接就在用户对文件操作时进行写日志不行吗?
zgke 2008-12-12
  • 打赏
  • 举报
回复
FileSystemWatcher _Directory =new FileSystemWatcher(m_Directory.FullName);

_Directory.IncludeSubdirectories=true;
_Directory.Filter="*.*";
// NotifyFilters.LastAccess | //读取

_Directory.NotifyFilter = NotifyFilters.LastWrite| NotifyFilters.FileName | NotifyFilters.DirectoryName;

_Directory.Created+=new FileSystemEventHandler(_Directory_Created);
_Directory.Renamed+=new RenamedEventHandler(_Directory_Renamed);
_Directory.Deleted+=new FileSystemEventHandler(_Directory_Deleted);
_Directory.Changed+=new FileSystemEventHandler(_Directory_Changed);

_Directory.EnableRaisingEvents = true;


private void _Directory_Created(object sender, FileSystemEventArgs e)
{
}

private void _Directory_Renamed(object sender, RenamedEventArgs e)
{
}
......
jeremy_miriam 2008-12-12
  • 打赏
  • 举报
回复
FileSystemWatcher 类,可以用他监视,最近正好在做这个。
FileSystemWatcher monitor = new FileSystemWatcher();
monitor.IncludeSubdirectories = true;//设置是否需要监视子文件夹
monitor.Path = @"D:\";
monitor.Filter = "*.*";

monitor.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.LastAccess | NotifyFilters.FileName | NotifyFilters.DirectoryName;
monitor.Created += new FileSystemEventHandler(monitor_Created);
monitor.Deleted +=new FileSystemEventHandler(monitor_Deleted);//根据需要自己增删
monitor.EnableRaisingEvents = true;//开启监视
gomoku 2008-12-12
  • 打赏
  • 举报
回复
colincat2004 2008-12-12
  • 打赏
  • 举报
回复

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧