125 lines
4.1 KiB
VB.net
125 lines
4.1 KiB
VB.net
Imports System.IO
|
|
|
|
Public Class Form1
|
|
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 Form1_Load(sender As Object, e As EventArgs) Handles Me.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 = "\\SDD-VMP03-VM09\DataFiles$\Digital Data\EnvelopeGenerator\EnvelopeGeneratorExport"
|
|
|
|
' Username & Passwort (anhängig vom Freigabestatus des Laufwerks). Inhalt ist
|
|
' bestenfalls egal
|
|
strUserName = "dd-san01\Administrator"
|
|
strUserPassword = "##25!45!3_works"
|
|
|
|
udtNetzResource.dwType = RESOURCETYPE_DISK
|
|
lblDriveCaption.Text = ""
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.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 Button2_Click(sender As Object, e As EventArgs) Handles Button2.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
|