The way USB disk devices are handle by the operating system have always been a bit odd and the ‘Safely Remove Hardware’ function is the Windows solution but it’s never been the greatest at handling the sheer array of different devices you can plug in to your PC. Sometimes if you have several devices, it can be difficult to identify the one you want, other times the device cannot be removed, and even the safely remove icon can, on occasion, not show up at all. Identifying and managing card readers is also not handled in the most effective way.
Many of you already know that usb devices have an option in device manager to ‘Optimize the device for quick removal’ which will disable the write caching on the device, but even that might not save your data or USB drive from becoming corrupted if it is unplugged before the writing to the drive has finished.
USB Safely Remove is a great utility that replaces Windows ‘Safely Remove Hardware’ and gives a much easier and better experience when handling USB drives and card readers. Sadly, it isn’t free and is around $20. Some good news is it’s sometimes given away as a promo and would definitely be something to keep watching out for. USB Disk Ejector is a free alternative that offers a number of advantages over the Windows removal procedure, and is useful if you want a bit more control over your USB storage devices.
As the program is portable, it can be extracted and run from anywhere, including to a USB stick you later want to remove using the program. It gives you a much clearer GUI view of what is available to be removed and enables disk ejection through a double mouse click on the device or the Enter key. A double right click will open the drive in Explorer.

USB Disk Ejector can be run from the command line and used in desktop shortcuts including the following useful options:
/REMOVETHIS
Ejects the drive that the program is running from.
/REMOVELETTER
Ejects the specified drive letter. Eg; /REMOVELETTER J
/REMOVENAME
Ejects the drive with the specified name (also accepts the * wildcard). Eg; /REMOVENAME “Verbatim STORE N GO”
/REMOVELABEL
Ejects the drive with the specified label (also accepts the * wildcard). Eg; /REMOVELABEL “STORE N GO”
See the Documentation for more details and commands.
If any applications are running from a disk then Windows won’t be able to eject it. USB Disk Ejector can detect and auto-close any applications running from the disk before ejecting.
Right clicking on the tray icon and selecting ‘Options’ or clicking ‘More>>>‘ in the device window will bring up the options window.
‘General’ will give options like starting the program minimized and closing to the tray if you want to keep it running. Also, ‘Show drives with partitions as one entry’ is useful if you have multiple partitions on an external drive and would like them to show up as a single device to stop.

‘Ejection’ gives you the option to minimize the windows after ejecting a device and how you would like to be notified. It is important to choose the most suitable option when choosing what to do if a program is running from the device you are trying to eject. Forcing the program to close could cause data loss if anything needs to be saved before the affected program gets closed.

‘Card Reader’ is only important if you have a card reader, but offers the option to hide the card reader when there are no devices plugged into it which is difficult to do in XP without third party software like this, or hide the card reader completely.

Finally, the ‘Hotkeys’ window allows you to assign a hotkey to a specific action such as removing a drive by name or letter. Select the action, give it a hotkey and then select what you want to perform the action on. In the window below, pressing F3 ejects any device attached with the drive letter J:

If it wasn’t for the fact I already have USB Safely Remove installed, this would definitely be the next best software to have a look at for controlling USB storage devices and card readers.
USB Disk Ejector is compatible with XP, Vista and 7 32 and 64 bit.

This software is totally free.. Portable version.. Not need to install.. David, i think you was tried the other USB Safely Remove.. This is USB Disk Eject.. Totally free n portable
i asked others to try dis too..
control hotplug.dll
shorter than
%SystemRoot%\System32\RUNDLL32.EXE shell32.dll,Control_RunDLL hotplug.dll
I used USB Safely Remove before when it offers 1 year free license. I like it however it expired. I would definitely try this. Thanks Ray.
%SystemRoot%\System32\RUNDLL32.EXE shell32.dll,Control_RunDLL hotplug.dll
works fine too