以编程方式打开CD托盘

时间:2010-09-26 09:01:08

标签: c# .net

我想在Windows中使用C#编写一个小程序来打开CD驱动器舌头 - 如果有CD则弹出CD。我想知道从哪里开始。

1 个答案:

答案 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);