Set MyFSO = CreateObject("Scripting.FileSystemObject")
Set dc = MyFSO.Drives For Each d In dc If d.drivetype = C_CDROM Then ' j ai trouvé le CD End If Next
DJ
Eric
Bonjour Fabrice
Et comment je récupère la lettre ? ... je commence
de la part d'un débutant aussi,
sous la déclaration des constantes :
On Error Resume Next
et dans la boucle
For Each d In dc If d.drivetype = C_CDROM Then ' faire attention à la casse If d.volumename = "Ton nom de volume" Then MsgBox d & " " & d.volumename ' j ai trouvé le CD End If End If Next
-- A+ Eric
Bonjour Fabrice
Et comment je récupère la lettre ?
... je commence
de la part d'un débutant aussi,
sous la déclaration des constantes :
On Error Resume Next
et dans la boucle
For Each d In dc
If d.drivetype = C_CDROM Then
' faire attention à la casse
If d.volumename = "Ton nom de volume" Then
MsgBox d & " " & d.volumename
' j ai trouvé le CD
End If
End If
Next
Et comment je récupère la lettre ? ... je commence
de la part d'un débutant aussi,
sous la déclaration des constantes :
On Error Resume Next
et dans la boucle
For Each d In dc If d.drivetype = C_CDROM Then ' faire attention à la casse If d.volumename = "Ton nom de volume" Then MsgBox d & " " & d.volumename ' j ai trouvé le CD End If End If Next
-- A+ Eric
Alain CROS
Bonjour.
Private Declare Function GetLogicalDriveStrings& _ Lib "kernel32" Alias "GetLogicalDriveStringsA" _ (ByVal nBufferLength&, ByVal lpBuffer$)
Private Declare Function GetDriveType& _ Lib "kernel32" Alias "GetDriveTypeA" _ (ByVal nDrive$)
Private Declare Function SetErrorMode& _ Lib "kernel32" _ (ByVal wMode&)
Sub Test() RecupNomLecteursCD "LabelduCD" End Sub
Sub RecupNomLecteursCD(NomVolume$) Const DRIVE_CDROM& = 5&, SEM_FAILCRITICALERRORS& = &H1 Dim Lecteur$, Ret&, LeCD$, Label$, I& Do Lecteur = Space$(Ret) Ret = GetLogicalDriveStrings(Ret, Lecteur) Loop While Len(Lecteur) = 0& Ret = InStr(Lecteur, vbNullChar) Do While Ret > 1& LeCD = Left$(Lecteur, Ret - 1&) If GetDriveType(LeCD) = DRIVE_CDROM Then I = 20& Label = String$(I, vbNullChar) SetErrorMode SEM_FAILCRITICALERRORS GetVolumeInformation LeCD, Label, I, 0&, 0&, 0&, vbNullString, 0& If Left$(Label, InStr(Label, vbNullChar) - 1&) = NomVolume Then MsgBox LeCD Exit Do End If End If Lecteur = Right$(Lecteur, Len(Lecteur) - Ret) Ret = InStr(Lecteur, vbNullChar) Loop End Sub
Alain CROS
"Fabrice" a écrit dans le message de news:
Bonjour ,
Comment connaître la lettre utilisé pour le lecteur de CD ROM si par exemple on connaît le label du CD ?
Merci
Bonjour.
Private Declare Function GetLogicalDriveStrings& _
Lib "kernel32" Alias "GetLogicalDriveStringsA" _
(ByVal nBufferLength&, ByVal lpBuffer$)
Private Declare Function GetDriveType& _
Lib "kernel32" Alias "GetDriveTypeA" _
(ByVal nDrive$)
Private Declare Function SetErrorMode& _
Lib "kernel32" _
(ByVal wMode&)
Sub Test()
RecupNomLecteursCD "LabelduCD"
End Sub
Sub RecupNomLecteursCD(NomVolume$)
Const DRIVE_CDROM& = 5&, SEM_FAILCRITICALERRORS& = &H1
Dim Lecteur$, Ret&, LeCD$, Label$, I&
Do
Lecteur = Space$(Ret)
Ret = GetLogicalDriveStrings(Ret, Lecteur)
Loop While Len(Lecteur) = 0&
Ret = InStr(Lecteur, vbNullChar)
Do While Ret > 1&
LeCD = Left$(Lecteur, Ret - 1&)
If GetDriveType(LeCD) = DRIVE_CDROM Then
I = 20&
Label = String$(I, vbNullChar)
SetErrorMode SEM_FAILCRITICALERRORS
GetVolumeInformation LeCD, Label, I, 0&, 0&, 0&, vbNullString, 0&
If Left$(Label, InStr(Label, vbNullChar) - 1&) = NomVolume Then
MsgBox LeCD
Exit Do
End If
End If
Lecteur = Right$(Lecteur, Len(Lecteur) - Ret)
Ret = InStr(Lecteur, vbNullChar)
Loop
End Sub
Alain CROS
"Fabrice" <personne@microsoft.com> a écrit dans le message de news: eMghKUO7EHA.2600@TK2MSFTNGP09.phx.gbl...
Bonjour ,
Comment connaître la lettre utilisé pour le lecteur de CD ROM si par exemple
on connaît le label du CD ?
Private Declare Function SetErrorMode& _ Lib "kernel32" _ (ByVal wMode&)
Sub Test() RecupNomLecteursCD "LabelduCD" End Sub
Sub RecupNomLecteursCD(NomVolume$) Const DRIVE_CDROM& = 5&, SEM_FAILCRITICALERRORS& = &H1 Dim Lecteur$, Ret&, LeCD$, Label$, I& Do Lecteur = Space$(Ret) Ret = GetLogicalDriveStrings(Ret, Lecteur) Loop While Len(Lecteur) = 0& Ret = InStr(Lecteur, vbNullChar) Do While Ret > 1& LeCD = Left$(Lecteur, Ret - 1&) If GetDriveType(LeCD) = DRIVE_CDROM Then I = 20& Label = String$(I, vbNullChar) SetErrorMode SEM_FAILCRITICALERRORS GetVolumeInformation LeCD, Label, I, 0&, 0&, 0&, vbNullString, 0& If Left$(Label, InStr(Label, vbNullChar) - 1&) = NomVolume Then MsgBox LeCD Exit Do End If End If Lecteur = Right$(Lecteur, Len(Lecteur) - Ret) Ret = InStr(Lecteur, vbNullChar) Loop End Sub
Alain CROS
"Fabrice" a écrit dans le message de news:
Bonjour ,
Comment connaître la lettre utilisé pour le lecteur de CD ROM si par exemple on connaît le label du CD ?
Merci
ng
Salut,
On evitera le FSO et utilisera plutot les APIs.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
didier TEST wrote:
"Fabrice" a écrit dans le message de news:
Bonjour ,
Comment connaître la lettre utilisé pour le lecteur de CD ROM si par exemple on connaît le label du CD ?
Merci
sans meme connaitre le label (bon d accord ca supose qu il yen a qu'un):
Set MyFSO = CreateObject("Scripting.FileSystemObject")
Set dc = MyFSO.Drives For Each d In dc If d.drivetype = C_CDROM Then ' j ai trouvé le CD End If Next
DJ
Salut,
On evitera le FSO et utilisera plutot les APIs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
didier TEST wrote:
"Fabrice" <personne@microsoft.com> a écrit dans le message de
news:eMghKUO7EHA.2600@TK2MSFTNGP09.phx.gbl...
Bonjour ,
Comment connaître la lettre utilisé pour le lecteur de CD ROM si par
exemple on connaît le label du CD ?
Merci
sans meme connaitre le label (bon d accord ca supose qu il yen a
qu'un):
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
didier TEST wrote:
"Fabrice" a écrit dans le message de news:
Bonjour ,
Comment connaître la lettre utilisé pour le lecteur de CD ROM si par exemple on connaît le label du CD ?
Merci
sans meme connaitre le label (bon d accord ca supose qu il yen a qu'un):
Set MyFSO = CreateObject("Scripting.FileSystemObject")
Set dc = MyFSO.Drives For Each d In dc If d.drivetype = C_CDROM Then ' j ai trouvé le CD End If Next
DJ
didier TEST
"Fabrice" a écrit dans le message de news:
Et comment je récupère la lettre ?
Excuse ; je commence !!
voila un exemple de ce que tu peux recuperer :
Dim MyFSO, d, dc, strRes, Rep
Set MyFSO = CreateObject("Scripting.FileSystemObject")
Set dc = MyFSO.Drives For Each d In dc strRes = strRes + vbCr + "---------------------" strRes = strRes + vbCr + "letter =" & d.driveletter strRes = strRes + vbCr + "type =" & d.drivetype strRes = strRes + vbCr + "filesys =" & d.FileSystem strRes = strRes + vbCr + "path =" & d.Path strRes = strRes + vbCr + "rootfold =" & d.rootfolder strRes = strRes + vbCr + "--------------------- " strRes = strRes + vbCr + "======= fin=======" End If Next MSGBOX strRes
Je t'invite a allez sur le site de MS recuperer la doc en CHM vbscript5.6 tres bien faite ou consulter l'aide en ligne. ou allez sur le site de Maitre JCB: http://www.bellamyjc.org/ pour avoir la description de ces objets de base.
DJ
"Fabrice" <personne@microsoft.com> a écrit dans le message de
news:eXa5YnP7EHA.3616@TK2MSFTNGP11.phx.gbl...
Et comment je récupère la lettre ?
Excuse ; je commence !!
voila un exemple de ce que tu peux recuperer :
Dim MyFSO, d, dc, strRes, Rep
Set MyFSO = CreateObject("Scripting.FileSystemObject")
Set dc = MyFSO.Drives
For Each d In dc
strRes = strRes + vbCr + "---------------------"
strRes = strRes + vbCr + "letter =" & d.driveletter
strRes = strRes + vbCr + "type =" & d.drivetype
strRes = strRes + vbCr + "filesys =" & d.FileSystem
strRes = strRes + vbCr + "path =" & d.Path
strRes = strRes + vbCr + "rootfold =" & d.rootfolder
strRes = strRes + vbCr + "--------------------- "
strRes = strRes + vbCr + "======= fin======="
End If
Next
MSGBOX strRes
Je t'invite a allez sur le site de MS recuperer la doc en CHM vbscript5.6
tres bien faite
ou consulter l'aide en ligne.
ou allez sur le site de Maitre JCB: http://www.bellamyjc.org/
pour avoir la description de ces objets de base.
Set MyFSO = CreateObject("Scripting.FileSystemObject")
Set dc = MyFSO.Drives For Each d In dc strRes = strRes + vbCr + "---------------------" strRes = strRes + vbCr + "letter =" & d.driveletter strRes = strRes + vbCr + "type =" & d.drivetype strRes = strRes + vbCr + "filesys =" & d.FileSystem strRes = strRes + vbCr + "path =" & d.Path strRes = strRes + vbCr + "rootfold =" & d.rootfolder strRes = strRes + vbCr + "--------------------- " strRes = strRes + vbCr + "======= fin=======" End If Next MSGBOX strRes
Je t'invite a allez sur le site de MS recuperer la doc en CHM vbscript5.6 tres bien faite ou consulter l'aide en ligne. ou allez sur le site de Maitre JCB: http://www.bellamyjc.org/ pour avoir la description de ces objets de base.