C# 用一个按钮打开CD托盘
我想用同样的按钮在cd托槽关闭时打开cd托槽,在cd托槽打开时关闭cd托槽 我知道打开或关闭CD托盘的命令:C# 用一个按钮打开CD托盘,c#,C#,我想用同样的按钮在cd托槽关闭时打开cd托槽,在cd托槽打开时关闭cd托槽 我知道打开或关闭CD托盘的命令: [DllImport("winmm.dll", EntryPoint = "mciSendString")] public static extern int mciSendStringA(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback); 我的问题是我不知道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 = "";
打开光盘:
mciSendStringA("set CDAudio door open",rt,127,0);
关闭光盘:
mciSendStringA("set CDAudio door closed",rt,127,0);
我以前读过这些讨论,但它们只在CD加载时检测到;他们没有区分开放和封闭+空,这是我需要的。顶部建议的链接没有帮助,因为它只是一个相关的问题,但不包含答案。具体来说:我不一定想知道状态,我只想用一个按钮打开和关闭,正如所说的,这应该是其他程序可以做到的。