This device is currently in use – MichaelHinds.com

If you're dutifully trying to eject a USB disk and get the frustrating message "This device is currently in use. Close any programs or windows that might be using the device, and then try again." there's a way to find out the culprit.

Download Handle. This utility is part of Windows Sysinternals, and tells you what processes have what files open.

Extract the executable to somewhere on your path, for example C:\Windows\system32

Run a command prompt as administrator (in Vista and Windows 7, right click on a shortcut to cmd.exe and select "Run as administrator")

At the command prompt, type "handle I:\" where I is the drive letter of the device

This tells you the application and the process ID. You can either close the application, or if you're happy you've saved everything and the process isn't a system one you can use the PID to kill it in task manager.