Vor einiger Zeit musste ich meinen Rechner in der Firma aus der Domäne nehmen, da dieser in eine Testumgebung integriert wurde. Da ich aber des öfteren auf die verschiedenen Server und dort auf die unterschiedlichsten Ordner zugreifen musste, suchte ich eine Lösung um das nervige einzelne manuelle Anmelden an den Servern zu automatisieren. Dabei bin ich auf folgenden Tipp gestossen: Jedoch wollte ich keine Netzlaufwerke anlegen, sondern mich einfach nur an den Servern anmelden. Mit ein paar kleinen Änderungen ist dies auch kein Problem. Das Modul umfasst nur noch folgende Codezeilen: Option Explicit ' Benötigte API-Deklarationen Const RESOURCETYPE_DISK = &H1 Private Type NETRESOURCE dwScope As Long dwType As Long dwDisplayType As Long dwUsage As Long lpLocalName As String lpRemoteName As String lpComment As String lpProvider As String End Type Private Declare Function WNetAddConnection2 Lib "mpr.dll" _ Alias "WNetAddConnection2A" ( _ lpNetResource As NETRESOURCE, _ ByVal lpPassword As String, _ ByVal lpUserName As String, _ ByVal dwFlags As Long) As Long ' Mit Server verbinden Public Function ConnectServer(sNetWorkPath As String, _ Optional sUserName As String, _ Optional sPassword As String) As Boolean Dim nResult As Long Dim udtRES As NETRESOURCE ' Ggf. Doppel-Backslash hinzufügen If Left$(sNetWorkPath, 2) <> "\\" Then sNetWorkPath = "\\" & sNetWorkPath End If ' NETRESOURCE-Struktur füllen With udtRES .dwType = RESOURCETYPE_DISK .lpLocalName = "" .lpRemoteName = sNetWorkPath End With ' Verbindung herstellen nResult = WNetAddConnection2(udtRES, sPassword, sUserName, 0) If nResult = 0 Then ConnectServer = True End If End Function Der Aufruf der Funktion in der Form beinhaltet den Servernamen, Benutzerkennung und das Passwort: Private Sub cmdstart_Click() Dim sKennwort As String Dim sBenutzer As String Dim sServer As String sKennwort = "..." ' Paswort sBenutzer = "..." ' Benutzerkennung sServer = "..." ' Servername oder IP Me.MousePointer = vbHourglass ' Verbindung herstellen If ConnectServer(sServer , sBenutzer, sKennwort) = True Then List1.AddItem "Verbunden mit Server " & sServer Else List1.AddItem "Zum Server " & sServer & " konnte nicht verbunden werden" End If End Sub Die Server kann man natürlich auch in ein Array speichern und dann einfach eine Schleife laufen lassen, die dann alle Server durchgeht. Der einfachhalber habe ich jetzt nur einen einmaligen Aufruf aufgelistet um das Prinzip zu zeigen. Dieser Tipp wurde bereits 14.865 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |