Forum: eject dvd rom (E:) i C#

Forum huvudsida -> Programmering -> eject dvd rom (E:) i C#

Sidor: 1

Till botten

ickz 01:50 - 28:e November 2009 | Post #1
Medlem
Inlägg: 1


Skicka PM
Tjenare. Jag är rätt ny för programmering. Så jag undrar hur exakt man öppnar dvd läsaren med en knapp i MS Visual C# 2008. Har letat som en tok och det ända jag hittar förstår jag inte ett smäck av. Så jag hoppas ni är snälla nog att svar på min jobbiga fråga.
Om det behövs veta så har jag bara en läsare.
Tackar för svar.


Senast redigerad 01:57 - 28:e November 2009


netKen 19:27 - 16:e December 2009 | Post #2
Medlem
Inlägg: 26


Skicka PM
vad sjutton, texten försvann??

orkar ej skriva ner allt igen så här kommer en kortare version.

öppna nytt applicationsprojekt, 1 knapp med namn btnOpen, eller 2 knappar om du vill ha stäng funktion, btnClose

lägg till i using direktivet:
using System.Runtime.InteropServices;

inuti class lägg till 2rader:
[DllImport("winmm.dll")]
static extern Int32 mciSendString(String command, StringBuilder buffer, Int32 bufferSize, IntPtr hwndCallback);

Dubbelklicka btnOpen och lägg till denna kod:
mciSendString("set CDAudio door open", null, 0, IntPtr.Zero);

vill du ha en stängknapp, lägg till denna:
mciSendString("set CDAudio door closed", null, 0, IntPtr.Zero);

bygg


Senast redigerad 19:35 - 16:e December 2009


Kekke 22:53 - 16:e December 2009 | Post #3
Medlem
Inlägg: 4


Skicka PM
I know what many of you are thinking now: "I have multiple CD / DVD drives and only one of them opens. How can I choose which one?".
The commands we sent above, only open / close the drive that's marked as the default drive for playing audio CDs. To open the other drives, we need to specify the letter of the drive that we wish to open. Let's say you have two DVD drives - H: and I: - like I do. Replace the code we wrote before in the button event handlers, with the following:


// Open Drive H:
mciSendString("open H: type CDAudio alias driveH", null, 0, IntPtr.Zero);
mciSendString("set driveH door open", null, 0, IntPtr.Zero);
// Open Drive I:
mciSendString("open I: type CDAudio alias driveI", null, 0, IntPtr.Zero);
mciSendString("set driveI door open", null, 0, IntPtr.Zero);


We first create an alias name for the H: drive named driveH, as a CDAudio type of drive, then in the second command, we open it by specifing the alias instead of CDAudio. The same thing is done for the I: drive.
The command for closing both drives is now obvious:

// Close Drive H:
mciSendString("open H: type CDAudio alias driveH", null, 0, IntPtr.Zero);
mciSendString("set driveH door closed", null, 0, IntPtr.Zero);
// Close Drive I:
mciSendString("open I: type CDAudio alias driveI", null, 0, IntPtr.Zero);
mciSendString("set driveI door closed", null, 0, IntPtr.Zero);


-------------------------
Ingen signatur!



Sidor: 1

Forum huvudsida -> Programmering -> eject dvd rom (E:) i C#
Atom feed

Du får inte posta i den här tråden | Till toppen