File modification alert from windows api

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 件のコメント

Oleg Komarov
Oleg Komarov 2012 年 2 月 19 日
Too small how small?
Image Analyst
Image Analyst 2012 年 2 月 19 日
What problems do you get? What's wrong with a timer? What file parameters are you checking? The date/time via fileinfo()?

サインインしてコメントする。

 採用された回答

Jiro Doke
Jiro Doke 2012 年 2 月 20 日

2 投票

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.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeConstruct and Work with Object Arrays についてさらに検索

質問済み:

2012 年 2 月 19 日

編集済み:

2013 年 10 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by