Win2000下如何用API控制光驱的打开与关闭。
在我电脑上试过了,不能直接这样:
mciSendString("Set cdAudio door open wait",NULL,0,NULL);
mciSendString("Set cdAudio door closed wait",NULL,0,NULL);
注:这个在Win98下面是可以的!
问题点数:20、回复次数:8Top
1 楼depuw(白蓝鸽)回复于 2001-08-13 14:02:10 得分 0
请大家帮忙!Top
2 楼depuw(白蓝鸽)回复于 2001-08-14 22:09:12 得分 0
哪位兄弟姐妹能帮忙吗?Top
3 楼zhengyun_ustc(精于心,简于形)回复于 2001-08-15 12:18:48 得分 5
偶已经试样过了,win2000可以的!
肯定是你的光驱不照了!Top
4 楼sim(Sim)回复于 2001-08-15 12:20:12 得分 5
上面的可以,我以前试过!Top
5 楼HelloAndOk(wageworker@0451.com)回复于 2001-08-15 12:43:51 得分 5
同意Top
6 楼kkk16()回复于 2001-08-15 12:51:38 得分 5
可以,我也试过了,绝对可以。Top
7 楼h_wg(东方)回复于 2001-12-08 18:06:32 得分 0
mciSendString在头文件中如何定义?Top
8 楼liugy(不知道的太多)回复于 2002-01-09 09:32:59 得分 0
我是在windows 2000下测试通过
void CMyDlg::OnOpenCD()
{
// TODO: Add your control notification handler code here
UINT wDeviceID;
DWORD dwReturn;
MCI_OPEN_PARMS mciOpenParms;
// Opens a CD audio device by specifying the device name.
mciOpenParms.lpstrDeviceType = "cdaudio";
if (dwReturn = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_TYPE,
(DWORD)(LPVOID) &mciOpenParms))
{
mciSendCommand(mciGetDeviceID("cdaudio"), MCI_SET, MCI_SET_DOOR_OPEN, NULL);
/* char szErrorBuf[MAXERRORLENGTH];
MessageBeep(MB_ICONEXCLAMATION);
if(mciGetErrorString(dwReturn, (LPSTR) szErrorBuf, MAXERRORLENGTH))
{
MessageBox(szErrorBuf, "MCI Error",
MB_ICONEXCLAMATION);
}
else
{
MessageBox("Unknown Error", "MCI Error",
MB_ICONEXCLAMATION);
}*/
}
// The device opened successfully; get the device ID.
wDeviceID = mciOpenParms.wDeviceID;
mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, NULL);
}
void CMyDlg::OnCloseCD()
{
mciSendCommand(mciGetDeviceID("cdaudio"),
MCI_SET, MCI_SET_DOOR_CLOSED, (DWORD)(LPVOID)&StatusParms);
}
Top




