用一个按钮打开CD托盘

时间:2014-04-22 17:28:02

标签: c#

我想要同样的按钮在CD托盘关闭时打开它,并在它打开时关闭它。

我知道打开或关闭CD托盘的命令:

[DllImport("winmm.dll", EntryPoint = "mciSendString")]
public static extern int mciSendStringA(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);

我的问题是我不知道CD托盘的状态,我只知道如何检查CD / DVD是否已加载而不是托盘的状态。

我不喜欢的是变量记忆状态的想法 - 正如我发现的一些线程中所建议的那样 - 因为一旦按下硬件按钮,这将立即失去同步。

虽然有些程序 - 例如itunes - 完全按照我的意愿行事,但一定是可能的。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

好吧,首先您必须导入一个DLL和一个用于返回状态的变量。

[DllImport("winmm.dll", EntryPoint="mciSendStringA")]
public static extern void mciSendStringA(string lpstrCommand, 
string lpstrReturnString, long uReturnLength, long hwndCallback);

string rt = "";

打开CD-ROM:

mciSendStringA("set CDAudio door open",rt,127,0);

关闭CD-ROM:

mciSendStringA("set CDAudio door closed",rt,127,0);