address cd-rom driver in C++

I want to know how I can address the cd-rom drive using it's windows driver in C++
For example I want to open the cd-rom player and close it after a certain delay.
Does anyone know where to get documentation of it.
TheMasterAsked:
Who is Participating?
 
alexoConnect With a Mentor Commented:
>> Don't you want the points? because you just gave some comment.
I wasn't sure that the answer I gave is really what you need so I refrained from locking the question.  I assumed (obviously correctly) that you will tell me if my answer is helpful.  I'm locking it now.
0
 
alexoCommented:
Check the mciSendCommand() function with the MCI_SET parameter.
0
 
alexoCommented:
Or mciSendString() command.
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
TheMasterAuthor Commented:
what header file do I need for it?
0
 
alexoCommented:
#include <mmsystem.h>

And link with winmm.lib
0
 
TheMasterAuthor Commented:
what header file do I need for it?
0
 
TheMasterAuthor Commented:
Don't you want the points? because you just gave some comment.
0
 
TheMasterAuthor Commented:
What arguments do I have to give with the function?
0
 
alexoCommented:
To open the door:
  mciSendString("set cdaudio door open wait", NULL, 0, NULL);

To close the door:
  mciSendString("set cdaudio door closed wait", NULL, 0, NULL);

0
 
TheMasterAuthor Commented:
That might work, do you know where I can see how those options work, some documentation on mmsystem.h.
Because I've checked the help files at home, but they didn't say anything about mmsystem.h
0
 
alexoCommented:
Sorry, my mistake.  The command needs an output buffer so try this:

    #pragma warning(disable: 4201 4514)
    #pragma comment(lib, "winmm.lib")

    #define STRICT
    #define WIN32_LEAN_AND_MEAN
    #include <windows.h>
    #include <mmsystem.h>

    void main()
    {
        char buff[128];
        mciSendString("set cdaudio door open wait", buff, sizeof buff, NULL);
    }

0
 
alexoCommented:
>> documentation on mmsystem.h
What compiler do you use?
0
 
alexoCommented:
For online info, go to:
http://premium.microsoft.com/isapi/devonly/prodinfo/msdnprod/msdnlib.idc?theURL=/msdn/library/sdkdoc/multimed/mci_7vvt.htm

(The first access of MSDN-online will require a one-time registration process)

0
 
TheMasterAuthor Commented:
I'm using Borland c++ 5 and Borland c++ builder.
But I think i'll be using c++Builder for this.
0
 
alexoCommented:
I don't have BC++ at home, I'll check its documentation at work (sunday).
Meanwhile you can check the online info.

OK?
0
 
TheMasterAuthor Commented:
I can open the cdrom door, but now I want to close it again.
Did you by the way find any docs?
0
 
alexoCommented:
>> I can open the cdrom door, but now I want to close it again.
mciSendString("set cdaudio door closed wait", buff, sizeof buff, NULL);

>> Did you by the way find any docs?
Yes.  BC5.02 has a "Multimedia API Reference" help file.  Check the "MCI" topic and subtopics.

BTW, How about grading the answer?
0
 
TheMasterAuthor Commented:
I've tried mciSendString("set cdaudio door closed wait", buff, sizeof buff, NULL);
But it won't close.
0
 
alexoCommented:
Docs say it should work.  Don't have a CDROM to test it.  Checked the return value?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.