Créer des lecteurs virtuels

Description

Cette source vous montre comment créer un lecteur virtuel grace à Subst même si je sais que je ne vais rien apprendre à personne !

Il vous faut 2 combos et 3 bouttons

Source / Exemple :


Dim I As Long, InDir As String
Dim sLettre As String, sTouteLettre As String
Dim WShShell As Object, FSO As Object
Dim Lecteur As Object

Private Sub cmdCheminVirtuel_Click(Index As Integer)

'Créer un lecteur virtuel

    Select Case Index
        Case 0
            InDir = BrowseFolder(Me.hwnd, vbNullString)
            If InDir = vbNullString Then
                Exit Sub
            End If
            txtChemLecteur = InDir
        
        Case 1
            Shell "subst.exe" & " " & cmbLecteurDispo(0).Text & " " & lblGuil.Caption & InDir & lblGuil.Caption, vbHide
            If chkCreerLecteurVirtuel.Value = 1 Then
                WShShell.RegRead "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & LCase$(Right$(cmbLecteurDispo(0).Text, 2)), "subst.exe" & " " & cmbLecteurDispo(0).Text & " " & lblGuil.Caption & InDir & lblGuil.Caption
            End If
            
            MsgBox "Création termninée avec succès !", vbInformation
                 
        Case 2

            Shell "subst.exe" & " /D " & cmbLecteurDispo(1).Text, vbHide
            
            MsgBox "Suppression termninée avec succès !", vbInformation
    End Select

    Exit Sub
    
End Sub

Private Sub Form_Load()

        sLettre = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        sTouteLettre = sLettre
   
        Set FSO = CreateObject("Scripting.FileSystemObject")
        Set Lecteur = FSO.GetDrive("c:\")
        Set WShShell = CreateObject("WScript.Shell")

        'Liste la chaine sLettre dans la liste de lecteurs virtuels
        cmbLecteurDispo(0).Clear
        cmbLecteurDispo(1).Clear
        For Each Lecteur In FSO.Drives
            sLettre = Replace(sLettre, Lecteur.DriveLetter, vbNullString)
        Next Lecteur
        
        For I = 1 To Len(sLettre)
            cmbLecteurDispo(0).AddItem Right(Mid(sLettre, 1, (Len(sLettre) + 1) - I), 1) & ":"
        Next I
        For I = 1 To Len(sTouteLettre)
                cmbLecteurDispo(1).AddItem Right(Mid(sTouteLettre, 1, (Len(sTouteLettre) + 1) - I), 1) & ":"
        Next I
               
        cmbLecteurDispo(0).ListIndex = 0
        cmbLecteurDispo(1).ListIndex = 0

End Sub

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.