?
Solved

address cd-rom driver in C++

Posted on 1999-01-06
19
Medium Priority
?
190 Views
Last Modified: 2013-12-03
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.
0
Comment
Question by:TheMaster
  • 11
  • 8
19 Comments
 
LVL 11

Expert Comment

by:alexo
ID: 1418159
Check the mciSendCommand() function with the MCI_SET parameter.
0
 
LVL 11

Expert Comment

by:alexo
ID: 1418160
Or mciSendString() command.
0
 

Author Comment

by:TheMaster
ID: 1418161
what header file do I need for it?
0
Fill in the form and get your FREE NFR key NOW!

Veeam is happy to provide a FREE NFR server license to certified engineers, trainers, and bloggers.  It allows for the non‑production use of Veeam Agent for Microsoft Windows. This license is valid for five workstations and two servers.

 
LVL 11

Expert Comment

by:alexo
ID: 1418162
#include <mmsystem.h>

And link with winmm.lib
0
 

Author Comment

by:TheMaster
ID: 1418163
what header file do I need for it?
0
 

Author Comment

by:TheMaster
ID: 1418164
Don't you want the points? because you just gave some comment.
0
 
LVL 11

Accepted Solution

by:
alexo earned 1000 total points
ID: 1418165
>> 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
 

Author Comment

by:TheMaster
ID: 1418166
What arguments do I have to give with the function?
0
 
LVL 11

Expert Comment

by:alexo
ID: 1418167
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
 

Author Comment

by:TheMaster
ID: 1418168
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
 
LVL 11

Expert Comment

by:alexo
ID: 1418169
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
 
LVL 11

Expert Comment

by:alexo
ID: 1418170
>> documentation on mmsystem.h
What compiler do you use?
0
 
LVL 11

Expert Comment

by:alexo
ID: 1418171
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
 

Author Comment

by:TheMaster
ID: 1418172
I'm using Borland c++ 5 and Borland c++ builder.
But I think i'll be using c++Builder for this.
0
 
LVL 11

Expert Comment

by:alexo
ID: 1418173
I don't have BC++ at home, I'll check its documentation at work (sunday).
Meanwhile you can check the online info.

OK?
0
 

Author Comment

by:TheMaster
ID: 1418174
I can open the cdrom door, but now I want to close it again.
Did you by the way find any docs?
0
 
LVL 11

Expert Comment

by:alexo
ID: 1418175
>> 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
 

Author Comment

by:TheMaster
ID: 1418176
I've tried mciSendString("set cdaudio door closed wait", buff, sizeof buff, NULL);
But it won't close.
0
 
LVL 11

Expert Comment

by:alexo
ID: 1418177
Docs say it should work.  Don't have a CDROM to test it.  Checked the return value?
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows how to make a Windows 7 gadget that accepts files dropped from the Windows Explorer.  It also illustrates how to give your gadget a non-rectangular shape and how to add some nifty visual effects to text displayed in a your gadget.…
For a while now I'v been searching for a circular progress control, much like the one you get when first starting your Silverlight application. I found a couple that were written in WPF and there were a few written in Silverlight, but all appeared o…
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question