Éjecter le Lecteur DVD avec Visual basic

Résolu/Fermé
kikou93 Messages postés 416 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - Modifié par crapoulou le 17/04/2016 à 18:58
kikou93 Messages postés 416 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 17 avril 2016 à 22:06
Bonjour,

J'ai fait des recherches pour savoir comment éjecter un lecteur DVD grâce a Visual basic

J'ai trouver le code suivant :

Public Class Form1

    Private Declare Function CtrlCdrom Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        CtrlCdrom("set cdaudio door open", "0", "0", "0")

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        CtrlCdrom("set cdaudio door closed", "0", "0", "0")

    End Sub
End Class


Mais ce code à deux inconvénient :

Le 1er et que ça éjecte le lecteur virtuel, et 2ème mot si j'ai plusieurs lecteur comme spécifier le lecteur que je veux éjecter.

Merci d'avance pour votre aide

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.





Comment ça marche c'est cool! 
      1000 Merci les Amis
A voir également:

2 réponses

Utilisateur anonyme
17 avril 2016 à 21:33
Sur le site que je t'ai trouvé, il est écrit qu'il faut envoyer 2 instructions.

        Dim driveLetter As String = "D"
        Dim returnString As String = ""
        mciSendStringA("open " + driveLetter + ": type CDaudio alias drive" + driveLetter, returnString, 0, 0)
        mciSendStringA("set drive" & driveLetter & " door open", returnString, 0, 0)


Alors je n'ai pas de lecteur CD, j'ai donc monté une image sur un disque virtuel D qui a bien été éjecté avec les 2 instructions, mais pas avec une seule.

1
kikou93 Messages postés 416 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
17 avril 2016 à 22:06
oui ca marche maintenant, merci beaucoup, tu ma beaucoup aider
je vais poster un nouveau probleme si tu peux y jeter un oeil s'il te plait
0
Utilisateur anonyme
17 avril 2016 à 19:48
Bonsoir

ici
http://www.vcskicks.com/disk-drive.php

Il montre que tu peux mettre la lettre à la place de "cdaudio"
0
kikou93 Messages postés 416 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
17 avril 2016 à 21:10
merci pour ta réponse rapide
j'ai bien compris le code, en langage C # le code été comme ca :
mciSendStringA("set drive cdaudio door open", returnString, 0, 0)
il est devenue :
mciSendStringA("set drive" + driveLetter + " door open", returnString, 0, 0)
j'ai essayé de le transformer en code Visual basic de :
CtrlCdrom("set cdaudio door open", "0", "0", "0")
à :
CtrlCdrom("set" & TextBox1.Text & "open", "0", "0", "0")
mais ça n'a pas marcher
peux-tu m'aider
j'attend ta réponse avec impatience
0