Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Fonction GetDriveType

Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" ( _
                 
ByVal nDrive As String) As Long
Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 3.1
. Windows 2000/XP : Oui

Description :
Cette fonction donne le type du lecteur passé en paramètre.
nDrive est le lecteur à tester. Sous la forme X:\ (X étant le lecteur à tester)
La fonction retourne une constante du tableau ci-dessous.
Si le lecteur n'existe pas, elle retourne 1, et si elle échoue, elle retourne 0.

ConstanteValeur Définition
DRIVE_REMOVABLE2 Lecteur de disque amovible (zip,...).
DRIVE_FIXED3 Lecteur de disque fixe.
DRIVE_REMOTE4 Lecteur de disque distant (réseau,...).
DRIVE_CDROM5 Lecteur de CD-ROM (DVD aussi surement).
DRIVE_RAMDISK6 Lecteur de disque en RAM (mémoire).

Exemple d'utilisation :

' Exemple de François GARAULT (f.garault@nea-be.com)
' A placer sur une feuille.

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

Dim
lgCptCD As Integer
Dim
tabCD(20) As String

Private Sub
Form_Load()
Dim strSave As String
Dim
lgFor As Long, lgRet As Long
Me.AutoRedraw = True
lgCptCD = 0
strSave = String$(255, Chr$(0))
lgRet = GetLogicalDriveStrings(255, strSave)
Do Until Left$(strSave, 1) = Chr$(0)
   
If GetDriveType(Left$(strSave, InStr(1, strSave, Chr$(0)) - 1)) = 5 Then
       
lgCptCD = lgCptCD + 1
        tabCD(lgCptCD) = Left$(strSave, 3)
   
End If
   
strSave = Right$(strSave, Len(strSave) - 4)
Loop
Me.Print "Bilan de lecteurs de Cd-Rom :"
For lgFor = 1 To lgCptCD
    Me.Print "Lecteur : " & lgFor & " = " & tabCD(lgFor)
Next
End Sub

Retour à la liste des API

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr