WEB开发网
开发学院软件开发VC 用VC++控制多光驱 阅读

用VC++控制多光驱

 2010-05-27 20:37:36 来源:WEB开发网   
核心提示:以上的代码仅仅是个框架,只能获得光驱数,用VC++控制多光驱(2),但是大家只要作稍微的改动就可以实现不同的功能,比如将光驱盘符动态的加入菜单等等,而且由于是API函数,所以以上的算法能被VB、DELPHI使用

以上的代码仅仅是个框架,只能获得光驱数,但是大家只要作稍微的改动就可以实现不同的功能,比如将光驱盘符动态的加入菜单等等。而且由于是API函数,所以以上的算法能被VB、DELPHI使用。通过以上的技术与MCI相结合,就可以轻而易举的制作出支持多光驱的CD播放器以及VCD播放器等。例如使用MCI命令控制多个光驱的弹出关闭:

//例子:弹出光驱F CDRomOpen(TRUE,'F')
// 关闭光驱F CDRomOpen(FALSE,'F')
void CDRomOpen(BOOL bOpenDrive,TCHAR cDrive)
{
MCI_OPEN_ParmS open;
MCI_STATUS_ParmS status;
DWORD flags;
TCHAR szDriveName[4];
strcpy(szDriveName,"?:");
::ZeroMemory(&open,sizeof(MCI_OPEN_ParmS));
open.lpstrDeviceType=(LPCSTR)MCI_DEVTYPE_CD_AUDIO;
szDriveName[0]=cDrive;
open.lpstrElementName=szDriveName;
flags=MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_OPEN_ELEMENT| MCI_OPEN_SHAREABLE;
if(!mciSendCommand(0,MCI_OPEN,flags,(unsigned long)&open))
{
status.dwItem=MCI_STATUS_READY;
if(bOpenDrive) mciSendCommand(open.wDeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0);
else mciSendCommand(open.wDeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,0);
mciSendCommand(open.wDeviceID,MCI_CLOSE,MCI_WAIT,0);
}
}
//参数cDrive可以通过前面的两个API函数获得

上一页  1 2 

Tags:VC 控制 光驱

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接