Hallo!
Ich verwende folgenden Code um ein Laufwerk als Administrator zu verbinden:
Die Verbindung hebe ich dann wie folgt wieder auf:
Ich rufe z.B. folgendes auf:
MapDrive("U", "\\computer\c$")
und dann wieder
UnMapDrive("U")
Das Problem dabei ist aber dass ich danach über den Explorer immer noch \\computer\c$ ohne Eingabe von Benutzername und Passwort zugreifen kann und die Ordner und Dateien verwenden kann.
Wie kann ich dies noch verhindern, wenn ich unmapdrive aufrufe?
Danke
Ich verwende folgenden Code um ein Laufwerk als Administrator zu verbinden:
Quellcode
- Public 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
- Public Declare Function WNetCancelConnection2 Lib "mpr" Alias "WNetCancelConnection2A" _
- (ByVal lpName As String, ByVal dwFlags As Integer, ByVal fForce As Integer) As Integer
- <StructLayout(LayoutKind.Sequential)>
- 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
- Public Const RESOURCETYPE_DISK As Long = &H1
- Public Const ForceDisconnect As Integer = 1
Quellcode
- Public Function MapDrive(ByVal DriveLetter As String, ByVal UNCPath As String) As Boolean
- Dim nr As NETRESOURCE
- Dim strUsername As String
- Dim strPassword As String
- nr = New NETRESOURCE
- nr.lpRemoteName = UNCPath
- nr.lpLocalName = DriveLetter & ":"
- strUsername = "administrator" '(add parameters to pass this if necessary)
- strPassword = "pwd" '(add parameters to pass this if necessary)
- nr.dwType = RESOURCETYPE_DISK
- Dim result As Integer
- result = WNetAddConnection2(nr, strPassword, strUsername, 0)
- If result = 0 Then
- Return True
- Else
- Return False
- End If
- End Function
Die Verbindung hebe ich dann wie folgt wieder auf:
Ich rufe z.B. folgendes auf:
MapDrive("U", "\\computer\c$")
und dann wieder
UnMapDrive("U")
Das Problem dabei ist aber dass ich danach über den Explorer immer noch \\computer\c$ ohne Eingabe von Benutzername und Passwort zugreifen kann und die Ordner und Dateien verwenden kann.
Wie kann ich dies noch verhindern, wenn ich unmapdrive aufrufe?
Danke