Laufwerk öffnen,Laufwerk schließen(beschränkt auf Desktops)

    • VB.NET

    Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Gelöschter Benutzer.

      Laufwerk öffnen,Laufwerk schließen(beschränkt auf Desktops)

      Hallo Com,

      um das Laufwerk zu öffnen bzw. zu schließen und das in sein Programm einbauen ist ziemlich einfach !
      Wir brauchen dazu 3 Buttons:

      Button1 nennen wir ButOpen
      Button2 nennen wir ButClose
      Button3 nennen wir ButShow

      Bevor ihr anfangt überhaupt was zu machen müsst ihr in eurem Code das hier tun:

      VB.NET-Quellcode

      1. Public Class Form1
      2. Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
      3. End Class


      In das ButOpen_Click Event schreibt Ihr folgendes:

      VB.NET-Quellcode

      1. mciExecute("Set CDaudio door open Wait")


      Wenn Ihr wollt könnt Ihr auch noch machen das dann etwas gesagt wird:

      VB.NET-Quellcode

      1. mciExecute("Set CDaudio door open Wait")
      2. Dim ObjTextToSpeech As Object
      3. ObjTextToSpeech = CreateObject("SAPI.SpVoice")
      4. ObjTextToSpeech.speak("Das Laufwerk ist Offen.")


      In das ButClose_Click Event schreibt Ihr dann:

      VB.NET-Quellcode

      1. mciExecute("Set CDaudio door closed Wait")
      2. Dim ObjTextToSpeech As Object 'Könnt Ihr weglassen
      3. ObjTextToSpeech = CreateObject("SAPI.SpVoice") 'Könnt Ihr weglassen
      4. ObjTextToSpeech.speak("Das Laufwerk ist geschlossen.") 'Könnt Ihr weglassen


      In das ButShow_Click Event schreibt Ihr dann:

      VB.NET-Quellcode

      1. Process.Start('Hier dann der Pfad zur CD/DVD bzw. zum Laufwerk)
      2. Dim ObjTextToSpeech As Object 'Könnt Ihr weglassen
      3. ObjTextToSpeech = CreateObject("SAPI.SpVoice") 'Könnt Ihr weglassen
      4. ObjTextToSpeech.speak("Der Inhalt wird nun angezeigt.") 'Könnt Ihr weglassen


      EINE WICHTIGE ANMERKUNG:

      Das schließen von dem CD/DVD-Laufwerk funktioniert nur auf PC's mit einem Desktop.
      Notebooks/Laptops werden nicht funktionieren.


      Gruß iEi
      CreateObject??? Warum nicht MessageBox.Show("BlaBla")
      Und: Declare = VB6!!!

      VB.NET-Quellcode

      1. <DllImport("winmm.dll")> _
      2. Public Shared Function mciExecute(ByVal lpstrCommand As String) As Long
      3. End Function


      Stell mal auf Option Strict On und geh weg von CreateObject und Declare...

      Windows sprechen lassen geht so:

      VB.NET-Quellcode

      1. 'Zuerst Verweis auf "System.Speech"
      2. Dim Speaker As New System.Speech.Synthesis.SpeechSynthesizer
      3. Speaker.SpeakAsync("Ich bin " & Environment.OSVersion.VersionString)
      Grüße,
      Lukas

      Fragen über Themen im Forum per Konversation werden gelöscht und die Absender blockiert...

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Luki-Progger“ ()

      Luki-Progger schrieb:

      Und: Declare = VB6!!!


      Declare ist genauso funktionsfähig, wenn man den VisualBasic-Namensraum abschaltet. Deshalb würde ich es nicht zu den "Bösen Funktionen" zählen. Hier mehr Informationen dazu:

      Stackoverflow

      Declare ist immer noch halb so lang.... 8o

      VB.NET-Quellcode

      1. Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
      2. 'oder
      3. <Runtime.InteropServices.DllImport("winmm.dll")> Public Shared Function mciExecute(ByVal lpstrCommand As String) As Long
      4. End Function
      Das Leben ist nicht so kompliziert. Eine süsse Erinnerung tut's.
      Indiana Jocutus - Jäger des Variablen-Schatzes
      Nicht ganz. So oder so ist die Deklaration durch das DllImport Attribut die zu verwendende Methode. Declare kommt von früher und wurde durch das Attribut abgelöst. Außerdem kann man dort wesentlich mehr Parameter etc. übergeben.


      Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
      Also ich habe das so gelöst - hoffe das geht so :)


      VB.NET-Quellcode

      1. Public Class Form1
      2. Private Declare Function mciExecute Lib "winmm.dll" ( _
      3. ByVal lpstrCommand As String) As Long
      4. 'Öffnet das Laufwerk
      5. Public Sub CDOpen()
      6. mciExecute("Set CDaudio door open")
      7. End Sub
      8. 'Schließt das Laufwerk
      9. Public Sub CDClose()
      10. mciExecute("Set CDaudio door closed")
      11. End Sub
      12. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      13. CDOpen()
      14. End Sub
      15. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
      16. CDClose()
      17. End Sub
      18. Private Sub PictureBox1_Click(sender As Object, e As EventArgs)
      19. End Sub
      20. End Class


      MFG Netlogger
      :D Ein Programm sollte nicht nur Hand und Fuß, sondern auch Herz und Hirn haben. (Michael Anton) :D

      MFG Jörg ;)

      Muss jeder vermeintliche Programmierer ne Signatur haben ??
      Du kannst einen LKW auch mit Reifen aus Stahl ausstatten, aber das bringt's auf Dauer nicht.
      „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

      -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.