2010-09-26 101 views
6

我想在c#中編寫一個用於打開CD驅動器舌頭的c#中的小程序 - 如果有CD,​​就彈出CD。 我想知道我從哪裏開始以及.net庫如何處理這個問題。 謝謝以編程方式打開CD托盤

回答

11

在C#中以編程方式打開和關閉磁盤驅動器並不是那麼困難,這要歸功於一個稱爲mciSendStringA的有用API函數。

首先,您需要定義將被打開光盤托盤功能:

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

如果上面的代碼不能編譯嘗試添加下面的C#線在你的源代碼頂部:

using System.Runtime.InteropServices; 

打開磁盤驅動器

要打開你需要發送兩個命令的磁盤驅動器使用mciSendStringA的字符串。第一個將爲所需的驅動器分配一個名稱。第二個命令將實際打開光盤托盤:

mciSendStringA("open " + driveLetter + ": type CDaudio alias drive" + driveLetter, 
       returnString, 0, 0); 
mciSendStringA("set drive" + driveLetter + " door open", returnString, 0, 0); 

關閉磁盤驅動器

要關閉你需要再次發出兩個命令字符串中的磁盤驅動器。第一個將是相同的。第二個命令現在將關閉磁盤托盤:

mciSendStringA("open " + driveLetter + ": type CDaudio alias drive" + driveLetter, 
       returnString, 0, 0); 
mciSendStringA("set drive" + driveLetter + " door closed", returnString, 0, 0); 
+2

非常感謝,我很想了解更多這些API。你知道很好的教程嗎? – Matti 2010-09-26 10:41:01

+2

谷歌它.. !! :) – Vaibhav 2010-09-26 12:55:28