如何控制某个指定光驱的打开和关闭?
假设有3个光驱,如何控制其中某个的打开和关闭? 问题点数:20、回复次数:2Top
1 楼lvjack(追逐梦想)回复于 2006-02-12 18:03:44 得分 0
用到mciSendString
参考http://www.tldown.com/article/article_15271_1.htmlTop
2 楼ccrun(老妖)(www.ccrun.com)回复于 2006-02-12 22:04:28 得分 20
#include <mmsystem.h>
void MyControlCDRom(TCHAR cDrive, BOOL bOpen)
{
MCI_OPEN_PARMS mop;
MCI_STATUS_PARMS msp;
DWORD dwFlags;
TCHAR szDriveName[4];
strcpy(szDriveName, "?:");
::ZeroMemory(&mop, sizeof(MCI_OPEN_PARMS));
mop.lpstrDeviceType = (LPCSTR)MCI_DEVTYPE_CD_AUDIO;
szDriveName[0] = cDrive;
mop.lpstrElementName = szDriveName;
dwFlags = MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID | MCI_OPEN_ELEMENT | MCI_OPEN_SHAREABLE;
if(!mciSendCommand(0, MCI_OPEN, dwFlags, (unsigned long)&mop))
{
msp.dwItem = MCI_STATUS_READY;
if(bOpen)
mciSendCommand(mop.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
else
mciSendCommand(mop.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
mciSendCommand(mop.wDeviceID, MCI_CLOSE, MCI_WAIT, 0);
}
}
// 使用举例:打开光驱F盘
MyControlCDRom('F', true);
Top




