vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Verbindung prüfen 
Autor: ModeratorDieter (Moderator)
Datum: 03.02.03 17:15

Hi Sanni,

probier's doch mal wie folgt:
Durchlaufe alle existierenden Laufwerke und ermittel den dazugehörigen UNC-Pfad. Entspricht der UNC-Pfad Deiner gewünschten Serververbindung kannst Du dann direkt den vorhandenen Laufwerksbuchstaben verwenden.

Das ganze könnte dann wie folgt aussehen:
Option Explicit
 
' zunächst die benötigten API-Deklarationen
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 Declare Function WNetGetConnectionA Lib "mpr.dll" _
  (ByVal lpszLocalName As String, _
  ByVal lpszRemoteName As String, _
  cbRemoteName As Long) 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
' Alle Laufwerke eines bestimmten Typs ermitteln
' z.B. CD-ROM Laufwerke
Private Function GetAllDrives(Optional ByVal DriveType As _
  Long = 0) As String
 
  Dim i As Integer
  Dim Result As Long
  Dim Drives() As String
  Dim Dummy As String
  Dim sDrives As String
 
  Dummy = Space(255)
  Result = GetLogicalDriveStrings(Len(Dummy), Dummy)
 
  Drives = Split(Dummy, Chr$(0))
  For i = 0 To UBound(Drives) - 1
    If GetDriveType(Drives(i)) = DriveType Or _
      DriveType = 0 Then
      sDrives = sDrives & Left$(Drives(i), 1)
    End If
  Next i
  GetAllDrives = sDrives
End Function
Und hier die Prüfroutine:
Dim sDrives As String
Dim sDrive As String
Dim i As Integer
Dim sPath As String
 
sDrives = GetAllDrives(DRIVE_REMOTE)
For i = 1 To Len(sDrives)
  sDrive = Mid$(sDrives, i, 1)
 
  ' UNC-Pfad ermitteln
  sPath = Space$(512)
  If WNetGetConnectionA(sDrive & ":", sPath, Len(sPath)) = 0 Then
    sPath = Left$(sPath, InStr(sPath, vbNullChar) - 1)
 
    ' Handelt es sich um den gesuchten Server-Pfad?
    If sPath = sServerPath Then
      ' ...
    End If
  End If
Next i

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Verbindung prüfen400Sanni03.02.03 09:40
Re: Verbindung prüfen240ModeratorDieter03.02.03 17:15
Re: Verbindung prüfen216Sanni03.02.03 18:00

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel