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 15.126 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. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats Dezemeber 2024 Roland Wutzke MultiSort im ListView-Control Dieses Beispiel zeigt, wie sich verschiedene Sortierfunktionen für ein ListView Control realisieren lassen. sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||||||||
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. |