Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB6] ElencoDischiLocali

    Ciao a tutti,
    devo mappare un indirizzo utilizzando la prima lettera disponibile (parto dalla Z e cerco fino alla C).
    Per ora utilizzo il seguente codice, e sembra funzionare.
    codice:
    sub MappaIndirizzo
        Dim Lettera As String
        Dim i As Integer
        Const Max = 90
        Const Min = 65
        
        Set wshNetwork = CreateObject("Wscript.Network")
        
        For i = Max To Min Step -1
            Lettera = RestituisciLettera(i)
            If Lettera <> "" Then
                wshNetwork.MapNetworkDrive Lettera & ":", "\\xxx.xxx.x.xxx\xxxxxx_xxxxxx", 0, "xxxxxx_xxxxxx", "1234567890"
                Exit Sub
            End If
        Next i
        MsgBox "Nessuna lettera disponibile per mappare un nuovo indirizzo"
        End
    End Sub
    
    Function RestituisciLettera(I As Integer) As String
        Dim SO_Drive, Risultato
        
        Set SO_Drive = CreateObject("Scripting.FileSystemObject")
        
        On Error GoTo OK
        Set Risultato = SO_Drive.getdrive(LCase(Chr(I)))
        RestituisciLettera = ""
        On Error GoTo 0
        Exit Function
    OK:
        RestituisciLettera = Chr(I)
        If Err <> 68 Then
            MsgBox Err
            End
        End If
        On Error GoTo 0
    End Function
    Il problema è quando su un pc è mappata una lettera, ma l'unità non è ancora connessa perchè l'utente non ha ancora digitato la password per accederci. Se sul pc è mappata un'unità con la lettera "Z" e l'utente non si è ancora connesso, col programma che ho fatto la "Z" risulta libera.
    Potrei ovviare al problema creandomi una lista da dos col comando "net use", ma vorrei evitare e proseguire su questa strada. Come posso fare?

    Grazie
    Luciano

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per l'elenco dei drive mappati usa il metodo EnumNetworkDrives dello stesso oggetto Wscript.Network e non il FSO.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    In realtà EnumNetworkDrives non fa vedere i dischi locali.
    Visto che dubito che qualcuno utilizzi una delle ultime lettere per dischi locali (io parto dalla Z) ho comunque provato ad utilizzare Wscript.Network nel codice, ma ha lo stesso identico problema del FSO

    Per ora il dos rimane l'unica soluzione...
    Grazie comunque

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.