Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Neobius en 8 Septiembre 2005, 12:08 pm



Título: Expulsar cd
Publicado por: Neobius en 8 Septiembre 2005, 12:08 pm
Bueno pues eso que como expulso la bandeja del cd. Lo mismo que si tu le das en mi pc con el boton derecho al cd te pone expulsar y se abre el lector, como puedo hacer eso


Título: Re: Expulsar cd
Publicado por: yeikos en 8 Septiembre 2005, 13:08 pm
Te vas aquí (http://foro.elhacker.net/index.php?action=search), pones abrir cd, buscas solo en el foro de Visual Basic y  :o.


Título: Re: Expulsar cd
Publicado por: {_The_Alwar_} en 8 Septiembre 2005, 14:20 pm
Mira, Necesitas un Modulo, Un form y en el Form un Boton

En el Modulo
Código:
Public res As Long, returnstring As String * 127
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Public Sub Cerrar()
res = mciSendString("set CDAudio door closed", returnstring, 127, 0)
End Sub

Public Sub Abrir()
res = mciSendString("set CDAudio door open", returnstring, 127, 0)
End Sub

En el Boton
Código:
Private Sub Command1_Click()
If Cdrom = True Then
Cerrar
Cdrom = False
Else
Abrir
Cdrom = True
End If
End Sub

Y en General, Declaraciones del Form
Código:
Dim Cdrom As Boolean


Título: Re: Expulsar cd
Publicado por: Neobius en 7 Enero 2006, 14:42 pm
Public res As Long, returnstring As String * 127
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Public Sub Cerrar()
res = mciSendString("set CDAudio door closed", returnstring, 127, 0)
End Sub

Public Sub Abrir()
res = mciSendString("set CDAudio door open", returnstring, 127, 0)
End Sub

Porque pones ese 127?? , porque yo lo he cambiado y sigue funcionando.

PD: Y como seria para cerrarlo??


Título: Re: Expulsar cd
Publicado por: karmany en 7 Enero 2006, 15:06 pm
Yo veo que tal vez para cerrarlo haya que pulsar de nuevo el botón.
Código:
If Cdrom = True Then
Cerrar
Cdrom = False
Else
Abrir
Cdrom = True


Título: Re: Expulsar cd
Publicado por: Neobius en 7 Enero 2006, 21:30 pm
Yo tambien pense lo mismo que dandole otra vez al boton se cerraria, pero por mas que le doy no hace nada.


Título: Re: Expulsar cd
Publicado por: Gangrel en 7 Enero 2006, 22:05 pm
El 127 es el largo de la variable returnstring, este 127 es por compatibilidad con los punteros en C, ya que las API's estan echas esencialmente para ser manejadas en lenguaje C yo te recomiendo que lo dejes en 127.


Título: Re: Expulsar cd
Publicado por: Sancho.Mazorka en 8 Enero 2006, 04:40 am
pra abrirlo en el evento del click del command1 pone abrir y en otro cerrar y listo a mi tampoco me funciono ese ejemplo aunque a lo tenia. Salu2


Sancho Mazorka     :P


Título: Re: Expulsar cd
Publicado por: BenRu en 8 Enero 2006, 04:42 am
Crea dos botones, uno para abrir y otro para cerrar.


Título: Re: Expulsar cd
Publicado por: {_The_Alwar_} en 9 Enero 2006, 16:06 pm
joder, si pone 127 es por algo, a mi dandole otra vez me furula perfectamente, lo q no se como hacer es decirle q unidad quiero q se habra


Título: Re: Expulsar cd
Publicado por: chicharron en 10 Enero 2006, 20:07 pm
facil puedes colocar para cerrar como ya la tienes abierta el ce pues haces una funcion sw sw=1 abierta u sw=0 cerrada asi la complementas para que en un mismo boton sea las dos cosas