//监视文件 fsys.dirWatcher import win.ui; /*DSG{{*/ var winform = win.form(text="监视文件 fsys.dirWatcher";right=599;bottom=399) winform.add( btnWatch={cls="button";text="监视目录";left=354;top=342;right=526;bottom=380;dr=1;dt=1;z=1}; editChange={cls="edit";left=23;top=21;right=564;bottom=322;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=2} ) /*}}*/ import process; import fsys.dirWatcher; import fsys.dlg.dir; //启动文件监控 winform.btnWatch.oncommand = function(id,event){ var watchDir = fsys.dlg.dir(,winform.hwnd,"请选择要监视的目录"); if( watchDir ) { winform.btnWatch.disabled = true; /* 创建目录变更监视器。 监视文件的方法有很多,最佳选择是使用 fsys.dirWatcher 。 */ winform.thrdWatcher = fsys.dirWatcher(watchDir, function(filename,action,actionText){ /**** filename 为变更的文件路径。 action 为 _FILE_ACTION_ 前缀的数值常量,例如 1(_FILE_ACTION_ADDED)。 actionText 的值为 "added" "removed" "modified" "renamed:old-name" "renamed:new-name" 其中之一。 ****/ winform.editChange.appendText( filename," -> ",actionText,'\r\n') }); process.explore( watchDir ) } } import fsys.file; import thread.event; winform.onClose = function(hwnd,message,wParam,lParam){ if(!winform.thrdWatcher) return; winform.thrdWatcher.close(); //停止监视文件 } winform.show(); win.loopMessage();