Fichiers Disks

MatthieuFourcade Messages postés 32 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 avril 2009 - 10 mars 2003 à 13:35
fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 - 10 mars 2003 à 15:38
Comment faire pour connaitre les disques durs locaux (ex c: , d:, e:) si il y en a plusieurs et avoir leurs lettres dans une variable par exemple et aussi connaitre les lettres des lecteurs (cd rom, dvd rom) ?

Merci de votre aide !

http://mwsgames.free.fr

Matthew

1 réponse

fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 3
10 mars 2003 à 15:38
Crée un nouveau prog et copie ça dans ta form... puis après à toi d'en faire quoi tu veux...

Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Private Const DRIVE_REMOVABLE = 2
Private Const DRIVE_FIXED = 3
Private Const DRIVE_REMOTE = 4
Private Const DRIVE_CDROM = 5
Private Const DRIVE_RAMDISK = 6

Private Sub Form_Load()
Dim Str_Temp As String * 250
Dim PosiStop As Integer
Dim PosiStart As Integer
GetLogicalDriveStrings Len(Str_Temp), Str_Temp
PosiStop = 1
PosiStart = 1
Do
PosiStop = InStr(PosiStop, Str_Temp, Chr(0))
If PosiStop = 0 Then Exit Do
Select Case GetDriveType(Mid(Str_Temp, PosiStart, PosiStop - PosiStart))
Case DRIVE_REMOVABLE
Debug.Print "(Lecteur)"; UCase$(Mid$(Str_Temp, PosiStart, PosiStop - PosiStart - 1))
Case DRIVE_FIXED
Debug.Print "(Disque Dur)"; UCase$(Mid$(Str_Temp, PosiStart, PosiStop - PosiStart - 1))
Case DRIVE_REMOTE
Debug.Print "(Disque Ram)"; UCase$(Mid$(Str_Temp, PosiStart, PosiStop - PosiStart - 1))
Case DRIVE_CDROM
Debug.Print "(CD-Rom)"; UCase$(Mid$(Str_Temp, PosiStart, PosiStop - PosiStart - 1))
Case DRIVE_REMOTE
Debug.Print "(Disque Reseau)"; UCase$(Mid$(Str_Temp, PosiStart, PosiStop - PosiStart - 1))
End Select
PosiStart = PosiStop + 1
PosiStop = PosiStop + 2
Loop
End Sub

<center>http://www.fredlynx.com
</center>
0
Rejoignez-nous