Click here to Skip to main content
13,298,655 members (66,698 online)
Click here to Skip to main content
Add your own
alternative version


21 bookmarked
Posted 24 Jan 2005

Open and Close CD drive in C#

, 24 Jan 2005
Rate this:
Please Sign up or sign in to vote.
An article on how to open and close the CD drive from your C# program.

Sample Image - Not really nessesary


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.


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.

[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:

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!


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


About the Author

Jason Iwachow
Canada Canada
No Biography provided

You may also be interested in...

Comments and Discussions

Generalmore then one CD drive ... Pin
Anonymous24-Jan-05 5:24
sussAnonymous24-Jan-05 5:24 
GeneralRe: more then one CD drive ... Pin
mav.northwind24-Jan-05 7:27
membermav.northwind24-Jan-05 7:27 
GeneralIncorrect mciSendStringA declaration Pin
mav.northwind24-Jan-05 2:23
membermav.northwind24-Jan-05 2:23 
GeneralRe: Incorrect mciSendStringA declaration Pin
Uwe Keim24-Jan-05 6:56
sitebuilderUwe Keim24-Jan-05 6:56 
Just look at [^], they should always have the correct declarations...

Affordable Windows-based CMS:

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.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.171207.1 | Last Updated 24 Jan 2005
Article Copyright 2005 by Jason Iwachow
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid