USB Disk Ejector Beta 2 – Finally!

[Edit] Beta 4 is now releasedΒ see here.

Its been almost 5 months since I said it was my intention to release new beta versions of USB Disk Ejector “as often as I can”. Sorry about that everyone, but 1.2 beta 2 is finally here.

There has been a huge number of features added and bugs quashed so I’m looking for as much testing and feedback as possible. So far its only been very briefly tested by me on Vista 32 bit. Please, please let me know how this beta performs. I want to know about problems, bugs, quirks, or even if it all works perfectly. Contact me, post in the comments or add an item to the issues tracker. Please include as much information as possible, including your version of Windows and if possible, the steps to reproduce a bug.

Click ‘Read the rest of this entry’ for the list of new features and the download link.

New since the last stable release:

  • Support for Firewire drives/disks
  • Support for card readers/flash memory cards (Cards are now ejected not the card reader as happened in previous versions)
  • Auto-polling to detect when a new flash card is inserted
  • Double right clicking on a drive opens an explorer window for the disk
  • Much better notifications:
    • Uses balloon hints in the taskbar for notifications instead of a messagebox
    • Much better detection and explanation of the reasons for a failed eject
    • Now notifies (via a balloon hint) when an eject is successful
  • Automatically closes explorer windows related to the disk before ejecting (this stops a lot of the failed ejects in Vista)
  • Can auto-close any applications running from the disk before ejection:
    • Can do this using a safe ‘ask’ method or a brute force unsafe method
    • Please note this closes applications that were launched from the ejecting disk. It currently does not close applications launched from elsewhere that have a file from the ejecting drive open.
    • Eg – if you launch portable firefox from a usb stick and then eject the stick it should close portable firefox and eject successfully, but if you open a document on the pen drive in Word then it wouldnt be able to detect and close this.
  • Hotkey support (can assign a hotkey to eject a drive based on its name or drive letter)
  • New ‘no disks’ found icon – the old face icon apparently scared some people
  • Added tray icon:
    • Added popup menu to tray icon so you can right click and eject disks, similar to the behaviour of Windows’ ‘Safely remove hardware’ tray icon
  • Smart auto-resizing of the program window to accommodate new disks/devices
  • Better docking behaviour when the program window is in a corner of the screen
  • Added ‘/NOSAVE’, ‘/CLOSEAPPS’ and ‘/CLOSEAPPSFORCE’ command line switches
  • Fixed – font size in the options dialog on Windows XP
  • Fixed – very rarely a device with many disks/partitions might not have all its disks detected correctly. The detection procedure is now threaded to stop this rare occurrence
  • Fixed – if the program was set to read only – when it restarted in mobile mode and copied to the temp folder it couldn’t delete itself
  • Options dialog added – options can now be set and saved. Click on ?more? then ?options? to show it.
  • Added options to:
    • Start the program minimized
    • Remember the last size of the program window
    • Remember the last position of the program window
    • Autosize the program window
    • Enable/disable balloon notifications
    • Close to the system tray
    • Minimize to the system tray
    • Enable/disable eject notifications
    • Use the standard windows eject notifications
    • Close the program after a successful ejection
    • Minimize the program after a successful ejection
    • Control the adding and management of hotkeys
    • Control the closure of any programs running from a drive before ejection
    • Search for media cards (in card readers)

Download the beta version.

Read the readme.

Get the source code.

USB Disk Ejector Beta 2USB Disk Ejector Beta 2 - Options Window

93 thoughts on “USB Disk Ejector Beta 2 – Finally!”

  1. the program doesn’t detect card in laptop’s card reader when the letter assigned to card only when there is a card in the slot… (dell inspiron 6400, windows vista sp1 32bit)

  2. Thanks for trying the program πŸ™‚
    I’m not quite sure what you mean in your comment. Does the card reader show up in the program?

    At the moment the app has only been tested with card reader devices that are connected via usb. It hasn’t been tested with card reader devices built into a laptop.

    [Edit] It seems that only multi-card readers will be detected. If you’ve just one then it probably wont be detected as a card reader but as a drive. I cant find any real way in Windows to detect a card reader – they don’t seem to identify themselves specifically as readers – the way I do it is to check if one or more devices have the same parent device instance – if they do (and they have different product id’s) then they are likely to be card readers. Unfortunately if there is just one card reader device then this means that it wont be detected.

  3. It seems that flash card ejection doesnt work in XP under limited user accounts. Seems to work ok in admin accounts. If anyone experiences anything different please let me know.

  4. Very good improvements, I hope to see a new stable release soon πŸ˜‰

    I sent you an email with some advices and I thought also that you could substitute “More >>>” with the 3 subitems “About”, “Options” and “Exit” (I think it will be more intuitive and skip a step to do the operation desired).

  5. /showeject works perfect now in vista.

    I’m using this utility with Pstart. You should write Pstart because they really need a utility like this.

  6. Hi,

    Thanks for this new version.
    I faced an annoying issue: the soft saves its settings by creating a .cfg file in the program installation folder. This is a not recommended practice, in that it prevents users not running as Admin to save their settings (unless they are skillful enough to tweak the ACLs of this file).
    So, in final version, that would be nice to save settings in %AppData% like every app is supposed to.
    Thanks in advance

  7. TerDale: The issue with that is – its supposed to be a portable app – that is, its not supposed to write to AppData – only to the location its run from. Since its usually run from a portable device such as a usb stick access rights for writing the cfg to the stick aren’t normally an issue.

    Having said all that, it could be changed to read/write to %appdata% – there would just be the issue of which settings file takes precedence and potential user confusion over having 2 possible cfg files.

  8. To make the software able to manage both modes of use, you can do it: the software firstly search in its folder the cfg file to store settings, but if the file doesn’t exist it saves settings in a %appdata% subfolder.
    It allow to support both modes with the same compiled exe, keeping the portable mode the default one.

  9. thanks for your comment, in my computer the card reader has drive letter only when the card is insert, and the program unfortunately doesn’t recognize the card at all.
    apart from this problem your program is wonderful.
    thanks, abd

  10. Hi, …

    I have a USB (SD/mini SD Reader), that if i use with your software, do some errors = (Access violation at address 76F91CA4, in module ‘kernel32.dll’. Read of address 02699000).

    I use inside your USB Disk Ejector 1.2.0 Beta 2, software, the option = “search for memory cards”.
    Windows Vista x64 Premium SP1.

    Sylvain St-Amand (sst)

  11. Sylvain:
    Thanks for the bug report.
    Just one more thing: are you running under an administrator or limited account? That is – does your account have admin privileges?

  12. Hi, …

    “i am running with an Administrator account”, “User Account Control – UAC disabled”, …

    It seam related to = connect to an USB port, a USB card reader, of a “SD card memory”.

    Sylvain St-Amand (sst)

  13. Thank you πŸ™‚
    I’ve just tested it on a Vista64 virtual machine and I get a similar error.
    I think its to do with the way I open a handle to devices when scanning them for memory cards. I’ll look into it. Thanks for your help πŸ™‚

  14. New version seems to work, but every USB eject on my PC results in Access violation at address 0040311F in module ‘USB_Disk_Eject.exe’. Read of address 00855704.

    The old version worked without issue – hopefully you can resolve this in the new version, as the new features are great – keep up the great work πŸ™‚

  15. Thanks for the comment – please also let me know the version of windows you are using, if your account has administrator rights and (most importantly) if you have “search for memory cards” enabled in the options.

  16. Great tool. Was looking for this kind of software for a long time. I have tried to make something in Autoit but this is better. Keep up the good work.


  17. Thanks for the reply. I’m running XP Pro SP3, logged in as administrator, and have the ‘Search for memory cards’ option ticked.

    I have a card reader, hence need that option on (but I think it’s the default anyway).


  18. Seems like a great concept. I was always uncomfortable with not being able to eject an SD Card properly before unplugging it. However, I had a few issues that made using this program more of a hassle than it’s worth.

    I put an SD card in the card reader. Was able to eject it OK. I put it back in. Then I inserted a Sandisk Cruzer U3 and three pop-up windows appeared. All of them said the following:

    “Access violation at address 0040928D in module ‘USB_Disk_Eject.exe’. Read of address FFFFFFFD.”

    The SD card appeared properly as Drive H, the SanDisk U3 appeared as Drive K, and the SanDisk U3 System appeared as Drive L. I was able to access all data on all disks.

    I was able to eject the SD Card by double clicking on the H Drive Icon. When I double clicked the K drive icon, both the K drive (SanDisk Data) and the L Drive (SanDisk U3 system) disappeared and properly ejected. This is correct operation with a U3 drive.

    When I re-inserted the SanDisk U3 drive again without the SD Card, I received the same errors, so it did not make any difference if both the SD Card and the U3 SanDisk were insertd concurrently.

    When I inserted a Verbatim Store-N-Go, I again received the pop-up, but this time only one pop-up window (instead of 3 with the SanDisk), and the read of address was different. The entire error message was:

    “Access violation at address 0040928D in module ‘USB_Disk_Eject.exe’. Read of address 00000022.”

    When I tried to close the USB Disk Eject window by clicking on the “X”, I received the following popup:

    “An unexpected memory leak has occurred. The sizes of unexpected leaked medium and large blocks are: 40239084”

    I also tried to disable AutoPlay in control panel, but this did not make any difference.

    My computer is Windows Vista Home Premium 64 Bit, 4 Gig Ram, Intel Core 2 Quad 8200, logged on with administrator priveleges. As stated previously, I do like the concept of this application, but these pop-ups create more of a nuisance than it is worth.



  19. “but these pop-ups create more of a nuisance than it is worth.” – thats why its a beta release! The old stable version doesnt have these problems.

    Thank you very much for the comprehensive bug reports Paulie and HTH. It seems likely that the memory card detection is causing the access violations. In the meantime I suggest turning ‘search for memory cards’ off and seeing if that helps.

    I’ll try and work on the app some more this weekend and see if I can fix the av’s.

  20. Hi, …

    Please = some other people(s), test not only in [(x64) Vista], but Windows XP (x32 / x64)and Windows 7 Beta / RC (x32 / x64), It is maybe related, to Vista (x64).

    At my side i will test the “USB Disk Ejector Beta 2”, = inside a virtual machine of, (windows xp x32/x64) , (Windows 2003), (windows vista x32/x64), (Windows 7 Beta and RC (x32/x64)).

    I will report if it have compatibility bug(s), and with Windows (x64 and/or [x32 x86]).

    Sylvain St-amand (sst)

  21. I love the concept!

    I have a color calibrated system using X-rite Monaco color management system for my Photoshop work … WinXP, all patches.
    Both ver1 and beta, when ejecting thumb drive with /removethis /showeject will momentarily “blank” the screen, and when the Window desktop returns, all the color calibration / management is also gone. (requiring a reboot).

  22. Brian: The ejection only uses windows api’s to eject disks, Do you get the same results when ejecting through windows’ safely remove hardware?

  23. When using the command line options in ver1 and beta, it “appears” that a DOS-like command black screen flashes … afterwords the Window desktop reappears (and it appears that my color profile has been removed, closed, or disabled after this process). This behavior does not happen when ejecting through Window’s safely remove hardware click.

  24. I’d like to have on option in cli-mode to remove all disks with one click. I am handling for usual up 10 disks and since Win XP always has problems when going to hibernate with connected drives I have to eject them before. Using the window intrinsice “remove safely” button you alway have to wait till the program returns from ejecting before selecting the next one.
    So I thought using “disk_eject” would help by simply writing a batch wiht disk_eject d, disk_eject e … etc. But disk_eject notifies me on each noch existing disk, that it cannot be found. Unfortunately I do not know which drives will be connected (eight of a bunch of app 50) so the method to eject all would be great.

  25. Nice! Thanks! I have a packardbell grafite USB+LAN disk. It has its own driver which makes it look like a USB disk even when it’s LAN connected. In this case your program detects the disk as a USB drive, but when I double click the icon almost nothing happens. I can hear the sound of a Windows USB connect/disconnect event, but there is no other feedback at all, no messages, and the drive stays connected.
    Windows XP Pro SP3.

  26. ‘Hi, I am facing the “cannot write in windows temp” problem that I have seen already reported, I use the /REMOVETHIS flag. If somehow there is already an UDB_Disk_Eject.exe file in the temp and is readonly , the app fails in copying itself to the temp dir. This I think because in order to copy itself the app should first set the existing file to not readonly,then delete the existing file and then copy itself to the dir, at least this ithe way in VB. I fixed for my case cleaning the file from the temp dir each time I run the app.

  27. Works pretty nice.
    One issue though.
    This is actually pretty annoying.

    I’m using a laptop, which I put in suspend and hibernation quite often. This may or may not cause the problem.

    I’ll try to explain. I can’t really give any cause though.
    I use the application to eject my external hard disk. It works fine. Sometimes, however, when I click on the icon, I get the window, but the list is empty and grayed out. Restarting seems to be the only solution. When I close the program, however, I get a large alert box containing an error message (which seems to have to do with the form / window / listbox / etc.) and a standard Windows crash message (illegal operation, you know the kind).

    I can’t refine. Sorry for that.

    Oh yeah, I’m using beta 2 of course πŸ˜‰ (Windows XP SP3)

    Oh and one more thing… The hard disk has multiple partitions.

  28. Very nice and quite what I was looking for.
    Two things, from my point of view, that would be nice:
    1. is it possible to show the individual icon I gave the USBdrive via autorun?
    2. it would be great, if another click to to the tray symbol closes the window again.

    Just two thougths πŸ™‚

    Thanks for your good work!

  29. i’ve run across a possible minor bug in the beta. on my desktop machine, xpsp3, i have three regular old harddrives – one of which i use for dedicated backups. so, normally the disk is idle and in fact has spun down. after i finish my daily synch-up with my USB thumbdrive, i fire up the usb disk eject beta – but it takes a few seconds to actually come up, because the idle disk is spinning up. it’s as if it’s scanning all drives on startup. i wonder if there could be an option to disable certain drive letters from being scanned, or something like that. it’s a minor problem really, but it didn’t do this with the stable release.

  30. Hi, thx for very useful program! I wana see this prog on my language – russian! Can i help u translate it on russian or it is not supported?
    “Doble click or press enter to safly remove a disk” (in english) – “?????? ??????? ????? ??????? ???? ??? ??????? Enter ?? ????? ??? ??????????? ??????????” (in russian)

  31. Shame it doesn’t recognize my SD cards. That’s the one thing I needed it for.
    Great icon! Seems very nice and customizable.

    UDE Beta 2

  32. Hi,

    you corrected the readme of disk ejector 1.1.2, from an erroneous /removedrive to /removename, but you forgot to do the same for the readme of 1.2 beta 2 πŸ˜‰


  33. Radtabulous! Your little app has once again convinced my rather stupid XP box to actually eject media. For some reason, I just couldn’t, even though I don’t have the “quick eject” option set on — the little “eject hardware” icon disappeared from my systray never to return…

    Only one minor bug so far: I have 3 disks that I eject one after the other. The balloon tooltip from the systray icon has to be closed before the next disk can be ejected. Attempting to eject whilst the tooltop balloon is visible causes the application to lock up. Personally, I can do without the tooltip balloon since the application itself provides feedback on the state of the drive. Perhaps there’s a hidden setting I don’t know about that I can use?

    Once again, thanks for a really usefull app!

  34. mine keeps on crashing when i try to eject a USB, like my ipod or any flash drive. it never did that on the previous version. i’m using vista 32bit.

  35. bonjour,
    y a-t-il une version fran?aise ?
    bravo quand m?me, c’est tr?s pratique, surtout avec le nom de la cl? usb !

  36. The only thing which always bothered me about this app, was that it only covers the removal of media, not the removal of devices in general (so, i.e., a pluggable network card).

    This means that i have the choice between having one method to remove devices which however is lacking (windows), or having two apps for removing – one for media and one for other devices. I like none of those two options.

    So my proposal is: really make this a full replacement for the “safely remove hardware”-icon in windows. Having to use two seperate tools for a similiar task, counters the usefulness of your up for people who need to remove other things than media.

  37. Thank you for your product (bgbenny USB disk ejector). I sincerely hope you could help me with this. I lent my personal notebook to company IT stuff to install some corporate programme through the network but afterwards, I found the USB disk ejector icon my my desktop which was created during the time when the i lent my personal notebook to company IT. I wonder what does this programme do and if it is possible if I could check on a log of what the programme has copied etc. Your kind help is greatly appreciated. Thanks.

  38. Thanks for a fantastic program, which solves an awful lot of problems I’ve had in the past with USB devices / media ejection.

    Also thanks for keeping it FREE :o)

  39. Thanks a lot; what about a feature to “reconnect” an already stoped usb device?
    I use USB Disk Ejector with remote servers; ejected disks stop consuming energy and get cold. But I have to go physically to the server to unplug and replug the cable. I saw a commercial program able to do reconnect usb disks, so it is posible.

  40. As the number of USB storage devices I have grows, referencing them by drive letter becomes less and less practical. So, I’m now using NTFS mount points and not assigning a drive letter at all. Your utility doesn’t see drives mounted this way.

    The problem with mount points is that I have two identical USB hard drives. If both are mounted, I can’t tell which is which with the usual Windows XP eject function. That’s why I’m looking at alternate eject utilities.

  41. Dude,
    nice-looking tool. Have been missing such a thing for ages, even decided to release one myself. I’m glad someone else beat me to it with taste.

    As concerning detecting open documents (handles):
    I’m currently using a manual method and was planning on automating it (by incorporating code into my software).
    You probably know Process Explorer by Sysinternals, right? Just use it’s search function with the drive letter, i.e. H: – this will yield a list of open files on the drive.
    Ergo – one could display a list of applications which still have open files and offer to the user to foreground them so he could close the documents or whatever.

    As to your homepage – it’s much better than most out there, only thing I’d change is your header. The text in it is hard to read IMHO.

    Keep rockin’.

  42. Hey, just so u know, i usually put the app in my start menu and create a shortcut to objectdock, however, i enabled the options to remember window position and size, but now its not able to save to the configuration file when i exit the app so the app is unable to close.

    Hope this helps u with the debug.
    Cheers ^_^

  43. The command line option ejects the entire card reader, while the GUI, correctly, ejects only the card.

    Thanks for writing this useful program. Keep up the good work.

  44. I’m trying 1.2beta2. The tool is quite good, but I’m missing the possibility to remove a sd-card from a build in sd-card reader in my laptop. it is not an usb device. I have checked the check box “search for memory card” but I think non-sd card reader are not supported yet. It would be create I you can provide a new version that has support for this.
    Thanks a lot

  45. the version 1.2beta2 has sometimes the problem that it displays a smal window only with the title without the canvas instead of being minimized to the tray. I run it on Vista bussiness. Also sometimes the window is empty and does not show the no-disk icon. on xp it very often does not detect the disk device and shows an empty window.

  46. Same request as “Mik” posted, glad I read the comments before posting the same! πŸ™‚

    I have been very careful to create icons for all of my remavable USB devices. This includes lots of external drives, thumb drive, MP3 players and assorted Camera’s we use within the famil. It would be very cool if I saw the same icon as “My Computer” lists via the autorun on each device.

    Fantastic little utility I use it all the time. Using the command line version in a little batch file that backups essential mail and document files to a thumb drive. It removes the device automatically, making my life and the IT challenged in the extended family a safer place!

  47. I just downloaded the Beta2 because my Vista64 “Safely Remove Hardware” icon does not display the flash drives plugged into my D-Link 7 port USB2 hub.

    Beta2 displays the flash drives correctly, but when I double click on them or hit enter as directed, the Beta2 locks up and I get a “Not Responding ” error.

    I tried your previous stable release, and it also locks up in Vista 64.


  48. Ira:
    The sarcasm really wasn’t necessary; if it doesn’t work, write your own software.

    Everyone else:
    Thanks for the continuing feedback, I’m still working on the app when I get time. Progress is just very slow at the moment.

  49. Hi,

    immer nach dem Start von Vista, wird ein Kleines Fenster (nur titelzeile) angezeigt. Minimieren geht nicht. Im tray ist das icon weiterhin vorhanden. wenn ich dort klicke, geht das eigentliche Fenster auf, welches leer ist und nur den “more” link enth?lt.

    Kommt eine Unterst?tzung f?r eingebaute SD Card reader (kein USB) hinzu?

  50. Can it remount drives that have been safely removed/ejected *without* unplugging/replugging them? offers this feature and I’d love to see it in USB Disk Ejector as well.

    BTW, no rush or anything, but it *has* been 5 months since this post. Any chance at all of a final stable release? πŸ˜‰

  51. USB Disk Ejector v1.2 BETA 2
    Windows XP SP3 – 32bit

    [Memory Leak After Ejecting USB Disk]

    With the option to close the program after ejecting, I get a memory leak error. Doesn’t happen if I deselect that option and close manually. Ejection still occurs. Below is the error.

    An unexpected memory leak has occured. The unexpected small block leaks are:
    1-12 bytes: String x4
    13-20 bytes: String x4
    61-68 bytes: TEventsThread x 1

    Followed by Runtime Error 216 at 00403E1A

  52. I’ve been looking at the code (I hope it was the Beta version) and (if I’m right) it appears that you actually call the GUI from the command-line. The odd thing is that the command line option to eject will eject the card reader not the card. On the other hand, the GUI, ejects only the card. I am using XP. Does this make any sense to you, or am I reading the code wrong?

  53. The code is still in a state of flux. The command line options haven’t been updated yet to incorporate the new features. So the switches dont yet support card readers.

    A status update for all – when I’ve had the time to work on the app, I’ve been working on uncoupling the code from drive letters. This means that it will now work with drives mounted to mountpoints that dont have drive letters. Once this is fully working (I think its 90% done) I’ll be trying to solve all remaining bugs.

  54. Hey, great job on the app, congratulations. One small hiccup, though: today the Ejector won’t work right, when I double-click on the icon for the flash drive, it freezes and I have to kill it, ’cause otherwise it won’t close. No new hardware has been added to my rig, and no change has been made to my Windows, any thoughts?

  55. Hey, still loving this app. Just wanted to reiterate my suggestion of a wildcard eject function. This would be great for hibernating a laptop right before unplugging it and taking it elsewhere (sans all connected devices). Slap it in a BAT file with the hibernate command on the second line and you’ve got a great hibernate script that helps prevent window’s confusion upon coming out of boot.

    thanks again!

  56. Hello. Is this still being worked on? I’ve been using the 1.1.2 version and it’s very nice indeed. Any updates to this fine product would be welcome. I’ve not tested the beta yet. Has it been updated? Thank you.

  57. I’m also getting freezes now, having been running Beta 2 fine for ages. Some drives eject fine, others cause the freeze. In fact, even the same drive will eject successfully one day and cause the prog to lock up the next.

  58. Great app… ^-^b

    I see that this app closes applications that were launched from the ejecting disk only, but could it displaying what prevents a device from being stopped? So I wouldn’t close all app that opening… ^^ It would be a useful feature.

    Like this app can do –

  59. I have been using this for a long time and it has worked flawlessly until now. My Passport Elite external drive is recognized as a composite device and will not eject with this software. All other devices eject with no issues. I am using Win 7 64 bit and run the program as admin to avoid memory leak errors.

  60. Is it possible to hide/exclude certain drive(s) from the drive list? I have an external hard disk connected for backup purposes and I do not want it to be disconnect by mistake.

    Keep up the good job πŸ™‚ Thanks.

  61. I use version 1.1.2, which is the latest and searched for the “more”-button to set it as I want it e.g. when I close the program or my computer it’s gone, probably because it’s not installed. Any solution for this?? Should I use the instable beta-version, which I prefer not to do by the way.

    Thanks in advance.

  62. I would like to be aple to supress the message that the drive is in use when used in a batch file & allow branching instead. This could be a method of testing if the drive is in use.

  63. Hi, I just wanted to put in a belated thank you for adding Windows 2000 support a while back.

    Win 2000 is one OS that really needs this software as it forces you to use the damn built-in feature that needs several clicks ? maddening if you use a USB all day!

    Also the auto minimize to tray on minimize and close are neat little timesavers.

    Getting back on topic about the beta: balloons are much better than message boxes. Another smart move!


  64. I have been using each beta version as its been released on 4 different XP computers. On my primary XP machine, beta’s 2, 3, and 4 are not responding when attempting to eject usb flash or external hard drives. USB DiskEjector just freezes and I have to shut it down and use the built-in Windows Safely Remove Hardware utility. However, if I use v1.12, the drives eject fine and no freezing. Any idea why this is happening?

    This particular computer has more card readers and usb devices connected to it than my other machines. On occasions I have had to correct the drive letter so I’m thinking that may be what is causing the problem. Although, after correcting a drive letter, it does show properly in all versions.

Comments are closed.