我想要同样的按钮在CD托盘关闭时打开它,并在它打开时关闭它。
我知道打开或关闭CD托盘的命令:
[DllImport("winmm.dll", EntryPoint = "mciSendString")]
public static extern int mciSendStringA(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);
我的问题是我不知道CD托盘的状态,我只知道如何检查CD / DVD是否已加载而不是托盘的状态。
我不喜欢的是变量记忆状态的想法 - 正如我发现的一些线程中所建议的那样 - 因为一旦按下硬件按钮,这将立即失去同步。
虽然有些程序 - 例如itunes - 完全按照我的意愿行事,但一定是可能的。
提前感谢您的帮助。
答案 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);