Oppure

Loading
25/08/08 7:53
Dim tdrive As Long 
Dim drive As String 

drive = "D:\" 

tdrive = GetDriveType(drive) 

If tdrive = DRIVE_CDROM Then 
msgbox drive & " è un lettore CD" 
End If 


Perchè
--------------------
drive = "D:\"

--------------------

e se per esempio anno l'unità "E:\", come fanno?

Almenochè, non cambi drive da solo.
e poi, se (d:\) è un masterizzatore, e (E:\) e un lettore, (come sul mio pc), il cd lo devi inserire sul masterizzatore?

P.S.
per aprire e chiudere il lettore/masterizzatore, tramite due pulsanti, come si fà?
Ultima modifica effettuata da 25/08/08 8:12
25/08/08 9:30
Overflow
allora inserisci nel form un drivelistbox(Drive1) e imposta la prorpietà visible = false (invisibile).
e scrivi questo codice.
Private Declare Function GetDriveType Lib "kernel32.dll" Alias "GetDriveTypeA" _
(ByVal nDrive As String) As Long

Const DRIVE_CDROM = 5

Const MAX_DRIVE_CDROM = 3


Private Sub Form_Load()
Dim cdrom(MAX_DRIVE_CDROM - 1) As String

For i = 0 To Drive1.ListCount - 1
    If GetDriveType(Drive1.List(i)) = DRIVE_CDROM Then
        cdrom(n) = Drive1.List(i)
        n = n + 1
    End If
Next i

End Sub

avrai un array cdrom che contiene le lettere dei drive cdrom.

Per aprire e chiudere il lettore cd:
Private 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

Private Sub Command1_Click()
'apre il lettore cd
mciSendString "Set cdaudio door open", 0, 0, 0 
End Sub

Private Sub Command2_Click()
'chiude il lettore cd
mciSendString "Set cdaudio door closed", 0, 0, 0 
End Sub

Ultima modifica effettuata da Overflow 25/08/08 9:42
aaa
25/08/08 9:50
Grazie ,ma c'è qualcosa che non va nel code che mi hai dato,


Ti posto i source:
Ultima modifica effettuata da 25/08/08 9:50
25/08/08 10:14
Overflow
non puoi dichiarare le api alla fine del modulo.
Le dichiarazioni vanno fatte all'inizio(in testa al modulo) alla fine non puoi mettere niente.

Ho fatto un paio di correzzioni:
aaa
25/08/08 11:12
perchè mi trova il masterizzatore x primo, e il lettore credo per secondo?


poi se hai tempo, guarda questo...
pierotofy.it/pages/extras/forum/15/39875-vb6_vs_gambas2/
Ultima modifica effettuata da 25/08/08 11:40
25/08/08 12:08
quindi il lettore non si può cambiare:(8-|:grr:
26/08/08 13:47
ma non mi risp + nessuno?

piuttosto andate nella sezione "tutto e di +", e aiutatemi,
26/08/08 13:56
Overflow
il gambas non lo conosco, quindi non so dirti niente.

Nel codice che ti ho dato ottieni le lettere dei drive dei lettori(lettore, masterizzatore).

Cosa intendi per cambiare il lettore? Può darsi che il lettore è collegato all'IDE secondario mentre il masterizzatore al primario. Quindi viene visto prima il masterizzatore e poi il lettore e quindi viene assegnata la lettera prima al masterizzatore e poi al lettore.
:-?
Ultima modifica effettuata da Overflow 26/08/08 14:10
aaa