文件“打开”如何监视(c#)??? c#中文件打开如何监视,貌似 Filesystemwatcher 监视不了,我做的是windows窗体,就是打开一个文件后可以使程序跳出一个自定义的对话框,可以在改对话框中输入文本。还请各位高手帮帮忙!(最好有源代码) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 System.IO.FileSystemWatcher FileWatcher = new FileSystemWatcher (); public FileWatchClass(string WatcherPath) { FileWatcher.Filter = "*.*"; FileWatcher.Path = WatcherPath; FileWatcher.Changed += new FileSystemEventHandler(FileWatcher_Changed); FileWatcher.Renamed += new RenamedEventHandler(FileWatcher_Renamed); FileWatcher.Created += new FileSystemEventHandler(FileWatcher_Created); FileWatcher.Deleted += new FileSystemEventHandler(FileWatcher_Deleted); FileWatcher.IncludeSubdirectories = true; FileWatcher.EnableRaisingEvents = true; } void FileWatcher_Deleted(object sender, FileSystemEventArgs e) { Console.WriteLine("【"+e.ChangeType+"】"+e.FullPath+" 删除 "); } 通过API Hook拦截CreateFileW/CreateFileA等函数,一般用VC来做,可以网上搜索一下。 你说的是删除(deleted),我要的是打开文件;还有我做的是windows窗体,不是控制台的 该楼已经给出了, FileWatcher_Changed, FileWatcher_Renamed, FileWatcher_Created 都可以实现的, 自己写个类似于Delete的事件就行了.把这些代码拷到窗体程序中照样是可以运行的, 自己变通下. 靠 都说了我要的不是删除的时候 也不是changed,renamed,created 是要在“打开”一个文件的时候能弹出对话框 楼上的几位都是死读书的那种。我有个好方法:当你打开某个文件时,不是会在系统里的任务管理器里显示相应的信息吗??.net里有个Process的类,可以得到当前任务管理器--应用程序里正在运行的程序。代码如下:C# code Process[] ps = Process.GetProcesses(); foreach (Process p in ps) { if (p.MainWindowHandle != null) { Console.WriteLine("{0}---{1}", p.MainWindowTitle,p.MainModule.FileName.ToString()); } }别忘了添加using System.Diagnostics; 定义数组a[],如何通过数组名a得知自身的数组名就是a。 C# 把文字画在图片中。。。文字无法正常显示要求大小 如何组织项目 DataGridView 如何捆绑日期控件 求助:VS2003 不能创建web项目了 如何在 c# 中设置excel 的某一列为文本,以及他的背景颜色 象,csdn,msdn这样的“树”目录(控件),哪里有下? 如何用钩子强制结束消息的传递 ListView的排序问题 字符串,如何HTMLENCODE c#如何实现实时监控系统打开那些文件夹 C# 监控windows窗口的打开
public FileWatchClass(string WatcherPath)
{
FileWatcher.Filter = "*.*";
FileWatcher.Path = WatcherPath;
FileWatcher.Changed += new FileSystemEventHandler(FileWatcher_Changed);
FileWatcher.Renamed += new RenamedEventHandler(FileWatcher_Renamed);
FileWatcher.Created += new FileSystemEventHandler(FileWatcher_Created);
FileWatcher.Deleted += new FileSystemEventHandler(FileWatcher_Deleted);
FileWatcher.IncludeSubdirectories = true;
FileWatcher.EnableRaisingEvents = true;
} void FileWatcher_Deleted(object sender, FileSystemEventArgs e)
{
Console.WriteLine("【"+e.ChangeType+"】"+e.FullPath+" 删除 ");
}
你说的是删除(deleted),我要的是打开文件;还有我做的是windows窗体,不是控制台的
该楼已经给出了, FileWatcher_Changed, FileWatcher_Renamed, FileWatcher_Created 都可以实现的, 自己写个类似于Delete的事件就行了.
把这些代码拷到窗体程序中照样是可以运行的, 自己变通下.
靠 都说了我要的不是删除的时候 也不是changed,renamed,created 是要在“打开”一个文件的时候能弹出对话框
我有个好方法:当你打开某个文件时,不是会在系统里的任务管理器里显示相应的信息吗??
.net里有个Process的类,可以得到当前任务管理器--应用程序里正在运行的程序。代码如下:
C# code Process[] ps = Process.GetProcesses();
foreach (Process p in ps)
{
if (p.MainWindowHandle != null)
{
Console.WriteLine("{0}---{1}", p.MainWindowTitle,p.MainModule.FileName.ToString());
}
}
别忘了添加
using System.Diagnostics;