MacBook: Script to Eject CD-ROM under Vista

The MacBook has no eject button under Vista. The eject key doesn’t work either. To eject CD-ROM, you need to use Windows Explorer. Once you have Windows Explorer opened up, you need to right click on the optical drive and select “eject” assuming you have an external mouse. If not, you will need to run a 3rd party utility like applemouse.exe to simulate the right mouse click. Anyway, there are multiple steps involved just to eject CD-ROM.

I found a VBscript to eject CD-ROM. When I tried the script on my MacBook, it didn’t work. After experimenting a bit, I got the code to work. Here is the modified version.

Const CDROM = 4
For Each d in CreateObject("Scripting.FileSystemObject").Drives
  If d.DriveType = CDROM Then
    Eject d.DriveLetter & ":"
  End If
Next
Sub Eject(sDriveLetter)
  Dim ssfDrives
  Dim oShell
  ssfDrives = 17
  CreateObject("Shell.Application")_
    .Namespace(ssfDrives).ParseName(sDriveLetter).InvokeVerb("Eject")
End Sub

I created a shortcut to this script on the Quick Launch bar. Now, I can eject CD-ROM with just one mouse click. Also, remember that the items on the Quick Launch bar have keyboard shortcuts assigned to them. The keyboard shortcut is Windows key + Number where the number represents the order of the item on the Quick Launch bar. For example, the script to eject CD-ROM is the 7th item on the Quick Launch bar. I can use Windows key + 7 to invoke the script to eject the CD-ROM.

  • Lethal.Liquid

    You can right click on macintosh with Ctrl + (Click), I’m not sure if this works under Vista.

  • FirstKnight

    You got the short. How did you do it?

  • Joe

    My drives letter is e could you make me one my emails jr318a@gmail.com

  • amida168

    Joe,

    Just create a script called eject.vbs and past the following code in it.

    ‘start of the script

    Eject(“e:\”)

    Sub Eject(sDriveLetter)

    Dim ssfDrives

    Dim oShell

    ssfDrives = 17

    CreateObject(“Shell.Application”)_

    .Namespace(ssfDrives).ParseName(sDriveLetter).InvokeVerb(“Eject”)

    End Sub

    ‘end of the script

  • Tey’

    Thanks for the script. Note however that the verb name “Eject” depends on your OS language. For instance, with the French version of Windows, it’s called “Éje&cter”.

  • Jonathan PH

    You can right click in windows on a macbook by putting both fingers on the touchpad and clicking.

  • Chuck

    I copied the script on this page and and didn’t work. I tried amida168’s script and it didn’t work either. Am I missing something? Also, what’s “Eject(”e:”)” supposed to do? As far as I know, that isn’t a valid VBS function.

  • amida168

    If you just copy and paste the code, it’s not gonna work. The blog software has added some extra lines and make the script not working. I fixed it and it should work now. Eject is a subroutine defined in the script. It’s used to eject the CD-ROM.

  • karl

    This script worked for me. Thanks a lot!