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
Ultima modifica effettuata da 25/08/08 11:40
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