我希望同样的按钮在关闭时打开CD托盘,并在打开时关闭它。
我知道打开或关闭CD托盘的命令:
[DllImport("winmm.dll", EntryPoint = "mciSendString")]
public static extern int mciSendStringA(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);
我的问题是我不知道CD托盘的状态,我只知道如何检查是否加载了CD / DVD而不是托盘的状态。
我不喜欢的是变量记忆状态的想法 - 正如我发现的一些线程中所建议的那样 - 因为一旦按下硬件按钮,它将立即失去同步。
它必须是可能的,因为有些程序 - 例如itunes - 正是我想做的事情。
在此先感谢您的帮助。
好吧,首先你必须为返回状态导入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);