PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C# CD Laufwerk öffnen und schließen Code hilfe



pc17
17.08.2009, 18:37
Hallo!

Habe einen Code dafür http://dotnet-snippets.de/dns/cddvd-laufwerk-oeffnen-bzw-schliessen-SID1189.aspx

weiß aber nicht was ich ändern/hinzufügen muss um mit den einem Button das Laufwerk zu öffnen und mit einen anderen es zu schließen!?
Bitte kann mir jemand helfen!

mfg pc17

Keksdose
17.08.2009, 19:29
Also ich kenn mich mit C# net aus ... Aber ich könnte dir sagen wie es unter C++ geht wenn dir das hilft...

Hier der Code:


#include <windows.h>
#include <mmsystem.h>

// benoetigt mmsystem.dll

int main()
{
// öffnen
mciSendString("set cdaudio door open",0,0,0);

Sleep(5000);

// schließen
mciSendString("set cdaudio door closed",0,0,0);

return 0;
}

pc17
17.08.2009, 20:00
hilft mir nicht wirklich, trotzdem DANKE

Sawyer
20.08.2009, 04:06
Also eigentlich hätte es dir schon etwas bringen müssen , denn er hat dir zumindest schon mal die richtige API gezeigt , und wie du sie sogar ansprichst.

Benötigte API:

[DllImport("winmm.dll")]
public static extern int mciExecute(string lpstrCommand);
Allerdings nicht vergessen folgenden Namensraum einzubinden:

using System.Runtime.InteropServices;
Aufruf (Laufwerk öffnen):

mciExecute("Set CDaudio door open");
Aufruf (Laufwerk Schließen):

mciExecute("Set CDaudio door closed");MfG , ThePapst

pc17
20.08.2009, 08:43
Ich bin jetzt draufgekommen das der Code den ich habe Super funzt!
Aber ich kann dem Server immer nur den ersten Befehl schicken den ich geschrieben habe z.b ich habe einen button word öffnen, einen Excel öffnen! Im Code steht Word öffnen an erster Stelle. kann dann das Word öffnen aber Excel nicht. Wenn ich es vertausche geht es genau umgekehrt! Und wenn ich den Code für CD laufwerk einfüge funzt das und sonst nichts!

Keksdose
20.08.2009, 09:55
Vielleicht hast du was mit select case oder If und else if verwechselt?

pc17
21.08.2009, 15:04
Es geht jetzt schon!
DANKE

Keksdose
23.08.2009, 09:07
Um aus Fehlern zu lernen.... Was hast denn falsch gemacht?

pc17
23.08.2009, 09:25
Ich habe diesen Code ganz oben stehen gehabt und darauf ging nichts mehr von den if anweisungen!

//string[] get_Split = get.Split('~');
//int zeit = Convert.ToInt32(get_Split[1]);
//if (get.Contains("rHerunterfahren"))
// System.Diagnostics.Process.Start("shutdown", "-s -t " + zeit.ToString());
so geht er jetzt, wenn ich ihn ganz nach unten verschiebe!

if (get.Contains("rHerunterfahren"))
{
string[] get_Split = get.Split('~');
string zeit = get_Split[1];
System.Diagnostics.Process.Start("shutdown", "-s -t " + zeit);
}

Dann habe ich noch alle Buttons aktualisiert und dann ging es!

MfG PC17