HardDrivesMenu is a command-line program which shows windows GUI ListBox menu with all available local drives, and then returns name of selected drive or otherwise nothing.

To get usage information: HardDrivesMenu.exe -h

This program can be used as a part of extensions for Emacs dired mode. It will keep you informed of all available local drives, so you can easily dired them.

Following key-binding definition (Alt-F1) gives you such possibility:

(require 'dired)

(define-key dired-mode-map [M-f1] (lambda () 
  "Shows hard-drives listing menu and lets user to select one of them. Opens selected drive in dired."
  (let ((drive-name ""))
      (call-process "C:\\PROGRA~1\\GnuWin32\\bin\\HardDrivesMenu.exe" nil t)
      (setq drive-name 
            (buffer-substring (point-min) (point-max))))
    (if (not (string= drive-name ""))
      (find-alternate-file drive-name)))))

where "C:\\PROGRA~1\\GnuWin32\\bin\\HardDrivesMenu.exe" is a full path to "HardDrivesMenu.exe" on your computer.

It should be placed in “~/.emacs” file.

Zip archive with binary and source can be downloaded from the http://mobilave.info/2010/HardDrivesMenu/HardDrivesMenu.zip

See also: `^' in Dired+ takes you to Windows drive list