def do_magic(): from staples import easy_button result = easy_button.press() return result
:) In all seriousness that code did the trick but only after a short delay. I noticed when I first ran it, there was no effect. But when I ran it interactively, it succeeded. Is there any way to check that the drive is still showing up in explorer and then re-run the code? Something like: while drive_exists: shell.SHChangeNotify(shellcon.SHCNE_DRIVEREMOVED, shellcon.SHCNF_PATH, "F:\\") Right now I've got: time.sleep(1) shell.SHChangeNotify(shellcon.SHCNE_DRIVEREMOVED, shellcon.SHCNF_PATH, "F:\\") Thanks for your help! -Kyle Rickey -----Original Message----- From: python-list-bounces+kyle.rickey=bakerhughes....@python.org [mailto:python-list-bounces+kyle.rickey=bakerhughes....@python.org] On Behalf Of Aaron Brady Sent: Monday, March 09, 2009 6:15 PM To: python-list@python.org Subject: Re: Eject a Removable USB drive On Mar 9, 6:08 pm, Mark Hammond <skippy.hamm...@gmail.com> wrote: > On 10/03/2009 8:20 AM, Rickey, Kyle W wrote: > > > Thanks for the link! That code has got me on the right track. I've > > almost got it working with one small kink. > > > After the code runs my drive still shows up on Windows Explorer but as a > > removable drive. If I try to double click on it, it tells me to insert a > > disk (see screenshot). > > > So it seems my code is unmounting my volume, but not the actual device. > > Any ideas? I've attached the code I've got so far. > > Adding the following after your eject code runs: > > from win32com.shell import shell, shellcon > shell.SHChangeNotify(shellcon.SHCNE_DRIVEREMOVED, shellcon.SHCNF_PATH, > "F:\\") > > seems to work for me (well - I actually did the above interactively > after your code ran, and the disk magically vanished from explorer...) Yay, magically! import crystalball? -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list