Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Trovare l'elenco dei Server disponibili.

    Bene, oggi sono in vena di rompere a voi lavoratori/studiosi...:gren:

    Avrei la necessità di trovare l'elenco dei Server disponibili per un pc, ad esempio il mio, e caricare il risultato ottenuto (l'elenco dei nomi dei server trovati) in una combobox.

    come si fa?...:master:...mi sono scervellata un bel po' prima di decidere di chiedere a chi di sicuro ne sa più di me...


    Grazie a tutti... come sempre...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  2. #2
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028
    Ehm, non ho capito bene
    Intendi avere la lista dei computer che sono collegati in rete (LAN)?

    I proxy che sono configurati in IE?


  3. #3
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    ...non so se e' questo.... ma provalo... tanto devi fare copia&incolla
    codice:
    Private Const RESOURCETYPE_ANY = &H0
    Private Const RESOURCE_CONNECTED = &H1
    Private Type NETRESOURCE
        dwScope As Long
        dwType As Long
        dwDisplayType As Long
        dwUsage As Long
        lpLocalName As Long
        lpRemoteName As Long
        lpComment As Long
        lpProvider As Long
    End Type
    Private Declare Function WNetOpenEnum Lib "mpr.dll" Alias "WNetOpenEnumA" (ByVal dwScope As Long, ByVal dwType As Long, ByVal dwUsage As Long, lpNetResource As Any, lphEnum As Long) As Long
    Private Declare Function WNetEnumResource Lib "mpr.dll" Alias "WNetEnumResourceA" (ByVal hEnum As Long, lpcCount As Long, lpBuffer As Any, lpBufferSize As Long) As Long
    Private Declare Function WNetCloseEnum Lib "mpr.dll" (ByVal hEnum As Long) As Long
    Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Any) As Long
    Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
    Function LetterToUNC(DriveLetter As String) As String
        Dim hEnum As Long
        Dim NetInfo(1023) As NETRESOURCE
        Dim entries As Long
        Dim nStatus As Long
        Dim LocalName As String
        Dim UNCName As String
        Dim i As Long
        Dim r As Long
    
        ' Begin the enumeration
        nStatus = WNetOpenEnum(RESOURCE_CONNECTED, RESOURCETYPE_ANY, 0&, ByVal 0&, hEnum)
    
        LetterToUNC = DriveLetter
    
        'Check for success from open enum
        If ((nStatus = 0) And (hEnum <> 0)) Then
            ' Set number of entries
            entries = 1024
    
            ' Enumerate the resource
            nStatus = WNetEnumResource(hEnum, entries, NetInfo(0), CLng(Len(NetInfo(0))) * 1024)
    
            ' Check for success
            If nStatus = 0 Then
                For i = 0 To entries - 1
                    ' Get the local name
                    LocalName = ""
                    If NetInfo(i).lpLocalName <> 0 Then
                        LocalName = Space(lstrlen(NetInfo(i).lpLocalName) + 1)
                        r = lstrcpy(LocalName, NetInfo(i).lpLocalName)
                    End If
    
                    ' Strip null character from end
                    If Len(LocalName) <> 0 Then
                        LocalName = Left(LocalName, (Len(LocalName) - 1))
                    End If
    
                    If UCase$(LocalName) = UCase$(DriveLetter) Then
                        ' Get the remote name
                        UNCName = ""
                        If NetInfo(i).lpRemoteName <> 0 Then
                            UNCName = Space(lstrlen(NetInfo(i).lpRemoteName) + 1)
                            r = lstrcpy(UNCName, NetInfo(i).lpRemoteName)
                        End If
    
                        ' Strip null character from end
                        If Len(UNCName) <> 0 Then
                            UNCName = Left(UNCName, (Len(UNCName) - 1))
                        End If
    
                        ' Return the UNC path to drive
                        'added the [] to seperate on printout only
                        LetterToUNC = UNCName
    
                        ' Exit the loop
                        Exit For
                    End If
                Next i
            End If
        End If
    
        ' End enumeration
        nStatus = WNetCloseEnum(hEnum)
    End Function
    Private Sub Form_Load()
        'KPD-Team 1999
        'URL: http://www.allapi.net/
        'E-Mail: KPDTeam@Allapi.net
        '-> This sample was created by Donald Grover
        MsgBox "C: UNC path: " + LetterToUNC("C:")
    End Sub
    ...and I miss you...like the deserts miss the rain...

  4. #4
    Ciao ragazzi...

    dunque, a me serve di sapere quanti Server di rete, tipo quello che abbiamo tutti in ufficio, sono disponibili per il mio pc...:master:...mi sono spiegata un po' meglio?...





    vonkranz, non ho capito bene cosa fa il tuo codice...:master:... non restituisce il nome di un server... giusto?...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    vi risottopongo il mio problema... magari oggi troviamo la soluzione eh?!...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  6. #6
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    dovrebbe esserci una API che ti permette di "leggere" i computer connessi alla rete. Non l'ho mai usata quindi non so dirti se c'è una funzione che ti distingue anche i server dai client, cmq cerca che qualcosa dovrebbe esserci

  7. #7
    prova a vedere questo

    codice:
    Option Explicit
    
    
    Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
    Private Declare Function NetGetDCName Lib "Netapi32.dll" (strServer As Any, strDomain As Any, bufptr As Long) As Long
    Private Declare Function NetApiBufferFree Lib "Netapi32.dll" (ByVal lpBuffer As Long) As Long
    Private Sub Command1_Click()
        Dim l As Long
        Dim dc() As Byte
        Dim bufptr As Long
        l = NetGetDCName(ByVal 0&, _
            ByVal 0&, _
            bufptr)
        MsgBox Pointer2stringw(bufptr)
        NetApiBufferFree bufptr
    End Sub
    
    Private Function Pointer2stringw(ByVal l As Long) As String
        Dim buffer() As Byte
        Dim nLen As Long
        nLen = lstrlenW(l) * 2
        If nLen Then
            ReDim buffer(0 To (nLen - 1)) As Byte
            CopyMemory buffer(0), ByVal l, nLen
            Pointer2stringw = buffer
        End If
    End Function
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  8. #8
    grazie xegallo......domani mattina appena arrivo in ufficio provo il tuo codice...grazie di cuore...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  9. #9
    ok xegallo, il tuo codice funziona benissimo.
    però ora dimmi se dovrebbe funzionare anche in queste condizioni: io ho il server generale e un computer di un collega che fa anche lui da server. il tuo codice dovrebbe farmi vedere entrambi i server o consente di trovare solo il principale?

    spero di essermi spiegata...

    grazie di tutto...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  10. #10
    Originariamente inviato da ladyBlu
    ok xegallo, il tuo codice funziona benissimo.
    però ora dimmi se dovrebbe funzionare anche in queste condizioni: io ho il server generale e un computer di un collega che fa anche lui da server. il tuo codice dovrebbe farmi vedere entrambi i server o consente di trovare solo il principale?

    spero di essermi spiegata...

    grazie di tutto...
    i server in rete li legge tutti quelli locali no
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

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.