Tipp-Upload: VB.NET 0329: Netzlaufwerk verbinden und trennen mit VB.net
von t_kick@sbox.tugraz.at
Hinweis zum Tippvorschlag
Dieser Vorschlag wurde noch nicht auf Sinn und Inhalt überprüft und die Zip-Datei wurde noch nicht auf schädlichen Inhalt hin untersucht.
Bitte haben Sie ein wenig Geduld, bis die Freigabe erfolgt.
Über den Tipp
Dieser Tippvorschlag ist noch unbewertet.
Der Vorschlag ist in den folgenden Kategorien zu finden:
- Internet und Netzwerke
Dem Tippvorschlag wurden folgende Schlüsselwörter zugeordnet:
Netzlaufwerk verbinden und trennen, VB.net
Der Vorschlag wurde erstellt am: 07.01.2009 12:18.
Die letzte Aktualisierung erfolgte am 07.01.2009 12:23.
Beschreibung
Hier wird ein Netzlaufwerk verbunden und getrennt mit VB.net
Der User kann ein freies Laufwerk auswählen und dann sich mit dem Laufwerk verbinden. Es hat fast die gleiche Funtkion wie Tipp: VB 5/6-Tipp 0010: Netzlaufwerk verbinden und trennen, jedoch klappt das ganze nun mit VB.net.
Vielspaß beim verwenden.
Schwierigkeitsgrad |
Verwendete API-Aufrufe: WNetAddConnection2 (WNetAddConnection2A), WNetCancelConnection2 (WNetCancelConnection2A) |
Download: |
' Dieser Source stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' ' Beachten Sie, das vom Designer generierter Code hier ausgeblendet wird. ' In den Zip-Dateien ist er jedoch zu finden. ' --- Anfang Projektdatei Netzlaufwerk verbinden und trennen VB.net.vbproj --- ' ------------------ Anfang Datei Form1.vb ------------------ Option Explicit On Imports System.IO ' Wird für das Suchen von freien Laufwerks-Buchstaben benötigt Public Class frmNetzlaufwerk Dim strUserName As String ' UserName für Anmelden beim Netzlaufwerk Dim strUserPassword As String ' Password für die Anmeldung Dim strDrive As String ' Laufwerksbuchstabe ' Dieser Source stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source ! ' Deklaration: Globale Form API-Konstanten ' Private Const RESOURCETYPE_DISK As Int32 = &H1 Const RESOURCETYPE_DISK = &H1 ' Deklaration: Globale Form API-Typen Public Structure NETRESOURCE Public dwScope As Integer Public dwType As Integer Public dwDisplayType As Integer Public dwUsage As Integer Public lpLocalName As String Public lpRemoteName As String Public lpComment As String Public lpProvider As String End Structure ' Deklaration: Globale Form API-Funktionen Private Declare Function WNetAddConnection2 Lib "mpr.dll" _ Alias "WNetAddConnection2A" ( _ ByRef lpNetResource As NETRESOURCE, _ ByVal lpPassword As String, _ ByVal lpUserName As String, _ ByVal dwFlags As Integer) As Integer Private Declare Function WNetCancelConnection2 Lib "mpr.dll" _ Alias "WNetCancelConnection2A" ( _ ByVal lpName As String, _ ByVal dwFlags As Integer, _ ByVal fForce As Integer) As Integer Dim udtNetzResource As NETRESOURCE Private Sub frmNetzlaufwerk_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load lblConnect.Text = "Es ist keine Verbindung hergestellt." ' Freien Laufwerks-Buchstaben ermitteln Dim i As Integer Dim sDrives As String = Join(Directory.GetLogicalDrives(), "") Dim sNextDrive As String = "" For i = 68 To 90 If Not sDrives.Contains(Chr(i) & ":") Then sNextDrive = Chr(i) & ":" ComboDrive.Items.Add(sNextDrive) End If Next ' R1 = Rechnername, C_SYSTEM = Name des zuzuweisenden Laufwerks udtNetzResource.lpRemoteName = "\R1\\I_CSS-WORK" ' Username & Passwort (anhängig vom Freigabestatus des Laufwerks). Inhalt ist ' bestenfalls egal strUserName = "Goetz" strUserPassword = "holla" udtNetzResource.dwType = RESOURCETYPE_DISK lblDriveCaption.Text = "" End Sub Private Sub frmConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles frmConnect.Click ' Abfrage ob ein Laufwerksbuchstabe ausgewählt wurde If ComboDrive.Text = "" Then MsgBox("Es wurde kein freier Laufwerks-Buchstabe ausgewählt.") Else ' gewählter Laufwerksbuchstabe sichern für die Trennung strDrive = ComboDrive.Text udtNetzResource.lpLocalName = ComboDrive.Text Dim lngResult As Integer ' Hier wird verbunden ' dwFlag muss 1 sein lngResult = WNetAddConnection2(udtNetzResource, strUserPassword, strUserName, 1) If lngResult = 0 Then lblConnect.Text = "Verbunden." Else lblConnect.Text = "Verbindung nicht möglich." End If End If End Sub Private Sub frmDisconnect_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles frmDisconnect.Click ' gewählter Laufwerksbuchstabe sichern für die Trennung strDrive = ComboDrive.Text udtNetzResource.lpLocalName = ComboDrive.Text Dim lngResult As Integer lngResult = WNetCancelConnection2(strDrive, 0, True) If lngResult = 0 Then lblConnect.Text = "Getrennt." Else lblConnect.Text = "Trennung nicht möglich." End If End Sub End Class ' ------------------- Ende Datei Form1.vb ------------------- ' --- Ende Projektdatei Netzlaufwerk verbinden und trennen VB.net.vbproj ---
Diskussion
Diese Funktion ermöglicht es, Fragen, die die Veröffentlichung des Tipps betreffen, zu klären, oder Anregungen und Verbesserungsvorschläge einzubringen. Nach der Veröffentlichung des Tipps werden diese Beiträge nicht weiter verlinkt. Allgemeine Fragen zum Inhalt sollten daher hier nicht geklärt werden.
Folgende Diskussionen existieren bereits
Um eine Diskussion eröffnen zu können, müssen sie angemeldet sein.