File modification alert from windows api

8 vues (au cours des 30 derniers jours)
Fedor Simkovic
Fedor Simkovic le 19 Fév 2012
Modifié(e) : Image Analyst le 17 Oct 2013
Hello!
I want my matlab program to receive a notification from or through the windows api whenever a file is externally modified (a picture) so that it can immediately load the new file. I am basically trying to avoid using a timer function as that one only looks for changes once a time interval and when i make the interval too small it produces problems.
Thanks!
  2 commentaires
Oleg Komarov
Oleg Komarov le 19 Fév 2012
Too small how small?
Image Analyst
Image Analyst le 19 Fév 2012
What problems do you get? What's wrong with a timer? What file parameters are you checking? The date/time via fileinfo()?

Connectez-vous pour commenter.

Réponse acceptée

Jiro Doke
Jiro Doke le 20 Fév 2012
You may be able to use the .NET interface, using the FileSystemWatcher class.
Here's a simple example in MATLAB (assuming you have an image called "mypicture.jpg" in the current folder:
% Watch this folder
w = System.IO.FileSystemWatcher(pwd);
% Watch a particular image file
w.Filter = 'mypicture.jpg';
% Notify when the file changes
w.NotifyFilter = System.IO.NotifyFilters.LastWrite;
% Create a listener for change
addlistener(w, 'Changed', @changedFcn);
% Start watching.
w.EnableRaisingEvents = true;
You also need to create a function like this:
function changedFcn(obj, eData)
fprintf('Changed: %s\n', char(eData.FullPath));
end
Try modifying the image.

Plus de réponses (0)

Catégories

En savoir plus sur Construct and Work with Object Arrays dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by