解决方法
由于一个名为mciSendStringA的有用API函数,在C#中以编程方式打开和关闭磁盘驱动器并不是那么困难.
首先,您需要定义将打开磁盘托盘的功能:
[DllImport("winmm.dll",EntryPoint = "mciSendString")] public static extern int mciSendStringA(string lpstrCommand,string lpstrReturnString,int uReturnLength,int hwndCallback);
如果上面的代码没有编译,请尝试在源代码的最顶部添加以下C#行:
using System.Runtime.InteropServices;
打开磁盘驱动器
要打开磁盘驱动器,您需要使用mciSendStringA发送两个命令字符串.第一个将为所需的驱动器分配名称.第二个命令实际上会打开磁盘托盘:
mciSendStringA("open " + driveLetter + ": type CDaudio alias drive" + driveLetter,returnString,0); mciSendStringA("set drive" + driveLetter + " door open",0);
关闭磁盘驱动器
要关闭磁盘驱动器,您需要再次发送两个命令字符串.第一个将是相同的.第二个命令现在将关闭磁盘托盘:
mciSendStringA("open " + driveLetter + ": type CDaudio alias drive" + driveLetter,0); mciSendStringA("set drive" + driveLetter + " door closed",0);