【问题标题】:Open CD-tray with one button一键打开CD托盘
【发布时间】:2014-06-07 05:25:27
【问题描述】:

我想要在 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】:

嗯,首先你必须导入一个 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多