Re: FileSystemWatcher onCreated tell where it was created from?
- From: Michael Nemtsev <nemtsev@xxxxxxx>
- Date: Thu, 9 Mar 2006 05:45:22 +0000 (UTC)
Hello Brandon,
There are no functions to do that. What do u need is to monitor harddrivers for changes,
and for each change, for example if file was created, u need to look at log of changes of others drivers to determine where file was to understand either it was newly created or copied.
B> What yours does is tells me when a file was created, changed,
B> deleted, or renamed - which is simple and something I've already
B> done.
B> B> What I want is for when a file is CREATED, to be able to know where
B> it was created FROM (ie: if a file is copied, what was the source
B> directory, if it was saved from an application, a 'null' value is
B> acceptable) this the FileSystemWatcher does not do (straightforwardly
B> anyway).
B> B> "Michael Nemtsev" wrote:
B>
---Hello Brandon,
sure, it's just a sample. Change in to meet your needs
B> Your example does not cover the scenario I outlined.
B>
B> "Michael Nemtsev" wrote:
B>
---Hello Brandon,
The FileSystemWatcherClass is responsible for this
see sample below (MSDN).
The component is set to watch for changes in LastWrite and
LastAccess
time,
the creation, deletion, or renaming of text files in the directory.
If a
file is changed, created, or deleted, the path to the file prints
to
the
console. When a file is renamed, the old and new paths print to the
console.
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);
}
}
B> I'm trying to get a piece of software that will monitor a
location
on
B> a
B> drive, and if something appears on the location, report what was
B> created and,
B> if applicable where it was copied from.
B> For instance, monitor my D:\
B> I copy a file from C:\ to D:\
B> I get "<filename> created on D:\ from C:\<filename>"
B> While I realize this may not be directly possible w/ .NET, if
it's
B> not, does somebody know where I could look in the WinAPI to find
this
B> out?
B>
B> Thanks
B>
---
WBR,
Michael Nemtsev :: blog: http://spaces.msn.com/laflour
"At times one remains faithful to a cause only because its
opponents
do not cease to be insipid." (c) Friedrich Nietzsche
WBR,
Michael Nemtsev :: blog: http://spaces.msn.com/laflour
"At times one remains faithful to a cause only because its opponents
do not cease to be insipid." (c) Friedrich Nietzsche
WBR,
Michael Nemtsev :: blog: http://spaces.msn.com/laflour
"At times one remains faithful to a cause only because its opponents do not cease to be insipid." (c) Friedrich Nietzsche
.
- Follow-Ups:
- References:
- Prev by Date: RE: Using .Net 1.1 assemblies from a .Net 2.0 App
- Next by Date: RE: Closing tray applications from .NET
- Previous by thread: Re: FileSystemWatcher onCreated tell where it was created from?
- Next by thread: Re: FileSystemWatcher onCreated tell where it was created from?
- Index(es):
Relevant Pages
|
Loading