Sun 1 Apr 2007
SyncToy is a “power toy” from Microsoft. Although it is officially an unsupported product, I’ve found that the quality of the tool is sufficient to depend on it for some critical file synchronization operations.
I’ve been using SyncToy to backup and synchronize files on the SD card I use in my Palm Zire 72. The synchronizations that I have set up include documents (Microsoft Office—Word and Excel) as well as pictures and videos taken with the PDA’s camera.
Sometimes it’s a pain to launch the SyncToy application when I insert the memory card into my Dell PC’s internal card reader. I saved some time by “pinning” SyncToy to the Start menu. That works very well, and I recommend you do likewise.
However, the thought occurred to me—why can’t I make SyncToy be a choice in the Windows dialog that automatically launches when I insert the memory card? Well, it turns out that you can.
I did some initial digging in the registry to isolate the branch containing the text of the choices that display, and I found this key:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers]
It turns out that this branch has all kinds of goodies in it, all related to how the Autoplay feature works.
After more experimentation and Googling, I came across a few important related articles:
- U3 vs. PortableApps | PortableApps.com - Portable software for USB drives
- Implement an Autoplay Handler - The Code Project - System Programming
- MSDN Library on Autoplay handlers
Ultimately, I created a registry script based on the first of the three links above that looks like this:
Â
Windows Registry Editor Version 5.00Â
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerAutoplayHandlersEventHandlersMixedContentOnArrival]
"SyncToyHandler"=""Â
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerAutoplayHandlersEventHandlersGenericVolumeOnArrival]
"SyncToyHandler"=""Â
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerAutoplayHandlersEventHandlersShowPicturesOnArrival]
"SyncToyHandler"=""Â
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerAutoplayHandlersEventHandlersPlayMusicFilesOnArrival]
"SyncToyHandler"=""Â
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerAutoplayHandlersHandlersSyncToyHandler]
"Action"="Synchronize with SyncToy"
"DefaultIcon"="\"C:\Program Files\Microsoft\SyncToy\SyncToy.exe\",0"
"InvokeProgID"="SyncToyHandler"
"InvokeVerb"="open"
"Provider"="SyncToy"Â
[HKEY_CLASSES_ROOTSyncToyHandler]
@="SyncToy"
[HKEY_CLASSES_ROOTSyncToyHandlerDefaultIcon]
@="\"C:\Program Files\Microsoft\SyncToy\SyncToy.exe\",0"Â
[HKEY_CLASSES_ROOTSyncToyHandlershell]Â
[HKEY_CLASSES_ROOTSyncToyHandlershellopen]
[HKEY_CLASSES_ROOTSyncToyHandlershellopencommand]
@="\"C:\Program Files\Microsoft\SyncToy\SyncToy.exe\""
It works great! Now, when I insert my memory card, SyncToy displays as an option in the list!





