C# 以编程方式打开CD托槽
我想在Windows中用C#创建一个小程序,可以打开CD驱动器舌片-如果有,请弹出CD。我想知道从何处开始。由于有一个名为mciSendStringA的有用API函数,在C#中以编程方式打开和关闭磁盘驱动器并不那么困难 首先,您需要定义打开磁盘托盘的功能:C# 以编程方式打开CD托槽,c#,.net,C#,.net,我想在Windows中用C#创建一个小程序,可以打开CD驱动器舌片-如果有,请弹出CD。我想知道从何处开始。由于有一个名为mciSendStringA的有用API函数,在C#中以编程方式打开和关闭磁盘驱动器并不那么困难 首先,您需要定义打开磁盘托盘的功能: [DllImport("winmm.dll", EntryPoint = "mciSendString")] public static extern int mciSendStringA(string lpstrCommand, strin
[DllImport("winmm.dll", EntryPoint = "mciSendString")]
public static extern int mciSendStringA(string lpstrCommand, string lpstrReturnString,
int uReturnLength, int hwndCallback);
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);
如果上面的代码未编译,请尝试在源代码的最顶端添加以下C行:
using System.Runtime.InteropServices;
打开磁盘驱动器
要打开磁盘驱动器,需要使用mciSendStringA发送两个命令字符串。第一个将为所需的驱动器指定一个名称。第二个命令将实际打开磁盘托盘:
[DllImport("winmm.dll", EntryPoint = "mciSendString")]
public static extern int mciSendStringA(string lpstrCommand, string lpstrReturnString,
int uReturnLength, int hwndCallback);
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);
关闭磁盘驱动器
要关闭磁盘驱动器,需要再次发送两个命令字符串。第一个将是相同的。第二个命令现在将关闭磁盘托盘:
[DllImport("winmm.dll", EntryPoint = "mciSendString")]
public static extern int mciSendStringA(string lpstrCommand, string lpstrReturnString,
int uReturnLength, int hwndCallback);
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);
非常感谢,我对学习更多这些API很感兴趣。你知道好的教程吗?重复: