用一个按钮打开CD托盘

问题描述 投票:0回答:1

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

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

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

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

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

它必须是可能的,因为有些程序 - 例如itunes - 正是我想做的事情。

在此先感谢您的帮助。

c#
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.