我想在Windows中使用C#编写一个小程序来打开CD驱动器舌头 - 如果有CD则弹出CD。我想知道从哪里开始。
答案 0 :(得分:14)
由于一个名为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, 0);
mciSendStringA("set drive" + driveLetter + " door open", returnString, 0, 0);
关闭磁盘驱动器
要关闭磁盘驱动器,您需要再次发送两个命令字符串。第一个将是相同的。第二个命令现在将关闭磁盘托盘:
mciSendStringA("open " + driveLetter + ": type CDaudio alias drive" + driveLetter,
returnString, 0, 0);
mciSendStringA("set drive" + driveLetter + " door closed", returnString, 0, 0);