Scheduled tasks cannot be triggered based upon file system changes. The event-based trigger that is supported is really for listening to events in the event log. I guess you could have file system events logged and then build a trigger from that but it would be inefficient and a resource hog.
The correct approach is to use FileSystemWatcher. You can configure the watcher to alert you when file system events occur. You can then do whatever you need to. For this to work you'd need to build an app that hosts the watcher and responds to events. You would then need to ensure the app is running. This might be where you would use the scheduler to have the program run at logon (or startup). Then as long as the app is running you would receive notifications.
Note that file system events happen as part of the IO so you need to build your watcher program multi threaded and have it defer the actual work (starting your other app or doing whatever functionality it is already doing) to a separate thread. If you don't do this then you will slow down IO and potentially cause the buffer to overflow which means you'll miss events. You should refer to the many articles online on how to properly build a file system watching program. The issues and guidance are well documented.