Sevidor:
Creamos un modulo y ponemos esto:
'Modulo modCdOps.bas
Public Declare Function SendCD 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 EjectCD()
On Error Resume Next
SendCD "set CDAudio door open", returnstring, 127, 0
End Sub
Public Sub CloseCD()
On Error Resume Next
SendCD "set CDAudio door closed", returnstring, 127, 0
End Sub
En el DataArrival ponemos:
WS.GetData datos
If datos = "abrircd" Then
SendCD "set CDAudio door open", returnstring, 127, 0
end if
If datos = "cerrarcd" Then
SendCD "set CDAudio door closed", returnstring, 127, 0
end if
Cliente: añadimos 2 botones (command button)
Private Sub Command1_Click()
Ws.SendData "abrircd"
End Sub
Private Sub Command2_Click()
Ws.SendData "cerrarcd"
End Sub
Creo que lo del datarrival esta bien eso no lo he probado yo lo hacia con private function.
Espero que te sirva.