Click here to Skip to main content
15,881,248 members
Articles / Programming Languages / C#

Open and Close CD drive in C#

Rate me:
Please Sign up or sign in to vote.
2.63/5 (10 votes)
24 Jan 2005CPOL 77.4K   2.4K   21   4
An article on how to open and close the CD drive from your C# program.

Sample Image - Not really nessesary

Introduction

I was looking for code in C# to open/close the CD drive so I could make a funny program that when run would open the CD drive every five minutes and play with it "Another cup holder for your tea governor?". Yea, anyways, to my surprise, I couldn't find it.

Background

To continue my story, I was searching the net and I found a simple code in VB. Well, I don't know VB, but I do know some other languages, and to my surprise, I was actually able to translate it.

Using the Code

Well, first you have to import a DLL and a variable for the return status.

C#
[DllImport("winmm.dll", EntryPoint="mciSendStringA")]
public static extern void mciSendStringA(string lpstrCommand, 
       string lpstrReturnString, long uReturnLength, long hwndCallback);

string rt = "";

Now, all you have to do is call it like this to open/ close the CD drive:

C#
mciSendStringA("set CDAudio door open",rt,127,0);

mciSendStringA("set CDAudio door closed",rt,127,0);

Points of Interest

It's pretty short. I'm pretty happy with the results of that British joke!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
Generalmore then one CD drive ... Pin
Anonymous24-Jan-05 4:24
Anonymous24-Jan-05 4:24 
GeneralRe: more then one CD drive ... Pin
mav.northwind24-Jan-05 6:27
mav.northwind24-Jan-05 6:27 
In this case you'll have to use more than one MCI string:
Let's say you have 2 drives, F: and G:, and you want to open the second one.
Then you can send:

open G: type cdaudio alias driveG<br />
set driveG door open<br />
close driveG

as single mci strings.

mav
GeneralIncorrect mciSendStringA declaration Pin
mav.northwind24-Jan-05 1:23
mav.northwind24-Jan-05 1:23 
GeneralRe: Incorrect mciSendStringA declaration Pin
Uwe Keim24-Jan-05 5:56
sitebuilderUwe Keim24-Jan-05 5:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.