Jump to content

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Find out more here. X
X


Photo

FileSystemMonitor UDF


  • Please log in to reply
64 replies to this topic

#1 seangriffin

seangriffin

    Polymath

  • Active Members
  • PipPipPipPip
  • 235 posts

Posted 25 April 2010 - 04:38 PM

This is a UDF that allows users to monitor the file system, using a combination of two internal Windows API Functions:

  • ReadDirectoryChangesW; and
  • SHChangeNotifyRegister
The purpose of this UDF is to record all file system events occurring within a given path.

REQUIREMENTS:

  • AutoIt3 3.2 or higher
LIST OF FUNCTIONS:

_FileSysMonSetup($monitor_type = 3, $dir_monitor_path = "C:\", $shell_monitor_path = "")
_FileSysMonSetDirMonPath($dir_monitor_path = "C:\")
_FileSysMonSetShellMonPath($dir_monitor_path = "")
_FileSysMonDirEventHandler()
_FileSysMonShellEventHandler()

EXAMPLES:

The following example is of a GUI that dynamically updates when files, folders and drives change within the file system (outside of the GUI).

The "Drives" list automatically updates when new drives are connected to the computer, and when existing drives are disconnected. The "Directory Listing" automatically updates whenever an external application (ie. Windows Explorer) adds, renames or deletes files and folders in the directory currently displayed.

When the "Directory Listing" is automatically updated with additions or changes, the list is automatically scrolled to that change.

The user may click on an item in the "Drives" list to change the "Directory Listing" to that drive. The user may also double click on a directory (<DIR>) in the "Directory Listing" to navigate to that directory. Double-clicking on "<DIR> .." will navigate back to the previous directory. The user may also press "F2" to rename an item in the "Directory Listing", and press "Delete" to delete/recycle an item in the "Directory Listing".

Attached File  FileSystemMonitor Explorer example.au3   9.61KB   2416 downloads

The following example monitors file system events. Run this script, and then use various applications (ie. Windows Explorer) whilst the script is running, to manipulate files, folders and drives within "C:\". The changes you make should get recorded in the GUI of this example. The user may also change the Path and click "Use Path" to change monitoring to another path, other than "C:\".

Attached File  FileSystemMonitor example.au3   4.14KB   2591 downloads

DOWNLOAD:

Latest Version - v0.4 (02/05/10)
Attached File  FileSystemMonitor.au3   15.25KB   3206 downloads

BACKGROUND:

The script for ReadDirectoryChangesW comes from the following brilliant topic:

[NOW WORKING] a (broken) monitor file changes script which uses ReadDirectoryChangeW

The script for SHChangeNotifyRegister comes from the equally brilliant topic:

SHChangeNotifyRegister() Receive notifications of shell changes.

The combination of the two functions allows monitoring of most I/O functions in Windows, including:

  • folder and file renames
  • folder and file creates
  • folder and file deletes
  • folder and file updates
  • drive additions
  • drive removals
I began this script by using SHChangeNotifyRegister alone, but then found that it didn't catch file creations from many apps (like Internet Explorer or Opera file downloads). A detailed description of the problem is mentioned in this article:

Shell Notifications

Here's an excerpt:

"...The Origin of Events

So now, you know how to receive any of these shell notifications that are floating around, but who is actually generating them? According to the documentation, 'An application should use this function (SHChangeNotify) if it performs an action that may affect the shell'. But that seems to be a bit of wishful thinking. I can't imagine there are many applica tion developers that really give a damn whether the shell is kept informed of their actions...

...The result is that these notifications tend to be a little bit unreliable. The likelyhood of you getting an event for something, may depend on what explorer windows happen to be open at the time. The shell also only has a 10 item event buffer, and may replace some events with a generic SHCNE_UPDATEDIR in case of an overflow. In short: don't depend on these notifications for any mission-critical applications...
"

I then switched to ReadDirectoryChangesW, but found that it lacks in features, such as detecting removable drive additions and removals.

The result I implemented was a combination of the two.

I prefer the Shell Change Notify method much more than the ReadDirectoryChangeW method, though because of the issues with it (as described above) I've had to implement both approaches to catch all events.

I like the fact that the Shell Change Notify method is very asynchronous in nature, running in the background as a registered Windows Message, with a seperate AutoIT function being activated whenever an event occurs, unlike ReadDirectoryChangeW's polling nature. I tried to put the monitoring of ReadDirectoryChangeW inside the MY_SHNOTIFY function above, but it didn't work. I'm still unsure why? If anyone can work it out please let me know. According to other forum topics, each call to ReadDirectoryChangeW should pull the next unprocessed event (that has occurred) out of it's queue (if that's the right word for it). So in theory, it shouldn't matter where it's called, or when. However calling it from within MY_SHNOTIFY doesn't work (even after changing the above code to make all variables global, and therefore accessible to MY_SHNOTIFY). Yet cutting and pasting the ReadDirectoryChangeW script into the Main Loop (While 1) does work. Strange.

Edited by seangriffin, 02 May 2010 - 03:16 AM.

  • Gyzmok and mLipok like this

Cheers,

 

Sean.

 

See my other UDFs:

Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax

 

See my other Tools:

Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia








#2 guinness

guinness

    all-consuming swarm in inconspicuous disguise

  • Developers
  • 17,238 posts

Posted 25 April 2010 - 04:49 PM

This is brilliant! I have read posts that have tried to do this, but problems have occurred with the program hanging or worse crashing.

Thanks.

Example List: _AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrGeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()LockFile()Mapping CtrlIDsParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...
Updated: 30/07/2014


#3 KaFu

KaFu

    Hey, it's just me, KhaFoo...

  • MVPs
  • 3,390 posts

Posted 25 April 2010 - 04:57 PM

Looks really good :idea: ...

#4 Andreik

Andreik

    Bishop

  • Active Members
  • PipPipPipPipPipPip
  • 2,590 posts

Posted 26 April 2010 - 09:13 PM

This script is very useful. Is really good. :idea:
When the words fail... music speaks

#5 Shafayat

Shafayat

    Polymath

  • Active Members
  • PipPipPipPip
  • 245 posts

Posted 26 April 2010 - 10:23 PM

Very useful script. Thanks.
[Not using this account any more. Using "iShafayet" instead]

#6 Manko

Manko

    Polymath

  • Active Members
  • PipPipPipPip
  • 229 posts

Posted 27 April 2010 - 02:31 PM

This is really great! :idea:

Some wonderings:

"Drive free space has changed" - Can you report which drive has changed?

Also, if the folder to be monitored doesn't exist at start, the polling gave nothing...
You never checked if the handle returned by CreateFile was valid...
Upon creation of that folder, it should try to CreateFile again...
...or it could have warned, or app could have created folder... it all depends on what one wants I guess.

Keep up the good work!

/Manko
Yes i rush things! (I sorta do small bursts inbetween doing nothing.) Things I have rushed and reRushed:* ProDLLer - Process manager - Unload viri modules (dll) and moore...* _WinAPI_ProcessListOWNER_WTS() - Get Processes owner list...* _WinAPI_GetCommandLineFromPID() - Get commandline of target process...* _WinAPI_ThreadsnProcesses() Much info if expanded - optional Indented "Parent/Child"-style Processlist. Moore to come... eventually...

#7 WeMartiansAreFriendly

WeMartiansAreFriendly

    Where's the kaboom?

  • Active Members
  • PipPipPipPipPipPip
  • 1,245 posts

Posted 27 April 2010 - 04:48 PM

Really nice. UDF's would be great.
Posted ImageDon't bother, It's inside your monitor!------GUISetOnEvent should behave more like HotKeySet()

#8 ripdad

ripdad

    Member

  • Active Members
  • PipPipPipPipPipPip
  • 738 posts

Posted 27 April 2010 - 06:15 PM

I get this error when opening some applications

See attached png image

Attached Thumbnails

  • AutoItError_Line173.png

I'm pretty sure this script has "some flaws" (somewhere). Welcome to programming!

#9 slayerz

slayerz

    Prodigy

  • Active Members
  • PipPipPip
  • 160 posts

Posted 28 April 2010 - 02:46 AM

Nice script seangriffin. :idea:

BTW, when I test it on my laptop, it will list the file/folder operation on all drives regardless of path that I set. Does it supposed to be like that? :)
AUTOIT I'm lovin' it!

#10 seangriffin

seangriffin

    Polymath

  • Active Members
  • PipPipPipPip
  • 235 posts

Posted 28 April 2010 - 11:31 PM

This is really great! :idea:

Some wonderings:

"Drive free space has changed" - Can you report which drive has changed?

Also, if the folder to be monitored doesn't exist at start, the polling gave nothing...
You never checked if the handle returned by CreateFile was valid...
Upon creation of that folder, it should try to CreateFile again...
...or it could have warned, or app could have created folder... it all depends on what one wants I guess.

Keep up the good work!

/Manko


Fixed the script to now report on the drive for which free space has changed. See the updated script at the top of this topic.

Cheers,

 

Sean.

 

See my other UDFs:

Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax

 

See my other Tools:

Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia


#11 SeF

SeF

    Wayfarer

  • Active Members
  • Pip
  • 79 posts

Posted 29 April 2010 - 02:24 PM

Thanks sean! :)
This will be very useful for me! :idea:
Posted Image

#12 seangriffin

seangriffin

    Polymath

  • Active Members
  • PipPipPipPip
  • 235 posts

Posted 29 April 2010 - 02:43 PM

Really nice. UDF's would be great.


The script is now a UDF! :idea:

Starting it's life as v0.1. Hope you all like it. Please provide feedback.

It's a very early release. I haven't tested it much. Global variable names are quite ugly, but it seems to work.

Cheers,

 

Sean.

 

See my other UDFs:

Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax

 

See my other Tools:

Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia


#13 seangriffin

seangriffin

    Polymath

  • Active Members
  • PipPipPipPip
  • 235 posts

Posted 29 April 2010 - 02:46 PM

Nice script seangriffin. :idea:

BTW, when I test it on my laptop, it will list the file/folder operation on all drives regardless of path that I set. Does it supposed to be like that? :)


You are right. I didn't include a specific path for shell monitoring in the script, and therefore all shell events across the file system were being reported.

I think I've addressed the path issues in v0.1 of the UDF now. Give this a try and let me know how it goes.

Cheers,

Sean.

Edited by seangriffin, 29 April 2010 - 02:46 PM.

Cheers,

 

Sean.

 

See my other UDFs:

Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax

 

See my other Tools:

Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia


#14 Tlem

Tlem

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 332 posts

Posted 29 April 2010 - 09:27 PM

Thank you very much.

Great stuf, but in UDF you can delete include not needed (all but WinAPI.au3) and put them on the sample code. :idea:
It seems that the function _FileSysMonActionEvent is missing.

A deleted file or folder is not indicate. There just a message that the size of folder have been changed ...
Best Regards.Thierry

#15 seangriffin

seangriffin

    Polymath

  • Active Members
  • PipPipPipPip
  • 235 posts

Posted 30 April 2010 - 02:55 AM

Thank you very much.

Great stuf, but in UDF you can delete include not needed (all but WinAPI.au3) and put them on the sample code. :idea:

Good pickup. Have fixed this now in v0.2 (to be posted soon)

It seems that the function _FileSysMonActionEvent is missing.

This is intentional. It's up to the user to define in their own script, so they can action the events as they like. I guess I didn't make this clear in the UDF. Have updated remarks in v0.2.

A deleted file or folder is not indicate. There just a message that the size of folder have been changed ...

I just ran the example script myself, and deleted a file in "C:\" and it was reported. Screenshot attached below:

tmp.png

Did you perform the delete via Windows Explorer, and use the $monitor_type = 3 param?

Cheers,

 

Sean.

 

See my other UDFs:

Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax

 

See my other Tools:

Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia


#16 slayerz

slayerz

    Prodigy

  • Active Members
  • PipPipPip
  • 160 posts

Posted 30 April 2010 - 03:19 AM

A deleted file or folder is not indicate. There just a message that the size of folder have been changed ...


I got the same problem... I delete the file using Windows Explorer, and use the $monitor_type = 3 but it only report drive free space has changed.
AUTOIT I'm lovin' it!

#17 Tlem

Tlem

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 332 posts

Posted 30 April 2010 - 06:44 AM

Did you perform the delete via Windows Explorer, and use the $monitor_type = 3 param?

I use your example on the first post. :idea:
So yes ...

Another question about the UDF.
Is it possible to have the name of a modified (content) file?
Best Regards.Thierry

#18 seangriffin

seangriffin

    Polymath

  • Active Members
  • PipPipPipPip
  • 235 posts

Posted 01 May 2010 - 07:10 AM

Version 0.2 is now available for download.

Changes include:

  • Removed unused external UDF references.
  • Updated remarks to indicate that the user must create _FileSysMonActionEvent.
  • Removed the use of $old_Filename (a failed attempt to hide duplicate events).
  • Fixed a bug where _FileSysMonSetDirMonPath() was still reporting the next
  • change in the previous path.

Also added a great Windows Explorer like example in the EXAMPLES section at the top of this topic. I think it is a great demonstration of the UDF's capabilities.

Edited by seangriffin, 01 May 2010 - 07:32 AM.

Cheers,

 

Sean.

 

See my other UDFs:

Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax

 

See my other Tools:

Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia


#19 seangriffin

seangriffin

    Polymath

  • Active Members
  • PipPipPipPip
  • 235 posts

Posted 01 May 2010 - 02:49 PM

Version 0.3 is now available for download.

Changes include:

  • Removed the $shell_gui param from functions. Not required, now managed internally.
  • Updated "FileSystemMonitor Explorer example.au3" to select drive "C" if the currently selected drive is disconnected.
  • Fixed error in "FileSystemMonitor Explorer example.au3" when an inactive drive is selected.
  • Updated "FileSystemMonitor Explorer example.au3" to use $scroll_checkbox.
  • Updated "FileSystemMonitor Explorer example.au3" to allow file/folder rename (F2) and deletion (Delete).

Cheers,

 

Sean.

 

See my other UDFs:

Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax

 

See my other Tools:

Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia


#20 seangriffin

seangriffin

    Polymath

  • Active Members
  • PipPipPipPip
  • 235 posts

Posted 01 May 2010 - 03:10 PM

Also, if the folder to be monitored doesn't exist at start, the polling gave nothing...
You never checked if the handle returned by CreateFile was valid...
Upon creation of that folder, it should try to CreateFile again...
...or it could have warned, or app could have created folder... it all depends on what one wants I guess.


Manko,

I've done quite a few changes to the UDF now, and added two good examples. Can you try and reproduce your problem above in v0.3 of the UDF. Hopefully it's fixed.

Cheers,

Sean.

Cheers,

 

Sean.

 

See my other UDFs:

Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax

 

See my other Tools:

Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia





5 user(s) are reading this topic

1 members, 4 guests, 0 anonymous users


    Inververs