fab2526
Messages postés1Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention14 janvier 2004
-
14 janv. 2004 à 17:49
CobayeVB
Messages postés2Date d'inscriptionvendredi 5 mars 2004StatutMembreDernière intervention 5 mars 2004
-
5 mars 2004 à 10:49
Salut,
Je dois utiliser cette procédure pour connecter un lecteur réseau. Je crois que c’est le seul moyen pour faire une gestion des erreurs sur la connexion.
Malheureusement, lorsque je fais le test, il me note que lpNetResource n’est pas correct. Effectivement, elle n’est pas déclarée dans la structure NETRESOURCE.
Que faut-il faire pour faire fonctionner cette procédure ?
gaa179
Messages postés361Date d'inscriptionmercredi 21 mai 2003StatutMembreDernière intervention12 novembre 20092 15 janv. 2004 à 09:14
Salut,
Voicu le code que j'utilise pour connecté un drive mapping avec les accès du user en cours:
Option Explicit
Const RESOURCETYPE_DISK = &H1
Public Const ERROR_ACCESS_DENIED = 5&
Public Const ERROR_ALREADY_ASSIGNED = 85&
Public Const ERROR_BAD_DEVICE = 1200&
Public Const ERROR_BAD_NET_NAME = 67&
Public Const ERROR_DEVICE_IN_USE = 2404&
Public Const ERROR_INVALID_PASSWORD = 86&
Public Const ERROR_MORE_DATA = 234 ' dderror
Public Const ERROR_NO_NETWORK = 1222&
Public Const ERROR_NO_NET_OR_BAD_PATH = 1203&
Public Const ERROR_NOT_CONNECTED = 2250&
Public Const NO_ERROR = 0 ' dderror
Public Const WN_ACCESS_DENIED = ERROR_ACCESS_DENIED
Public Const WN_ALREADY_CONNECTED = ERROR_ALREADY_ASSIGNED
Public Const WN_BAD_LOCALNAME = ERROR_BAD_DEVICE
Public Const WN_BAD_NETNAME = ERROR_BAD_NET_NAME
Public Const WN_BAD_PASSWORD = ERROR_INVALID_PASSWORD
Public Const WN_DEVICE_IN_USE = ERROR_DEVICE_IN_USE
Public Const WN_MORE_DATA = ERROR_MORE_DATA
Public Const WN_NO_ERROR = NO_ERROR
Public Const WN_NO_NET_OR_BAD_PATH = ERROR_NO_NET_OR_BAD_PATH
Public Const WN_NO_NETWORK = ERROR_NO_NETWORK
Public Const WN_NOT_CONNECTED = ERROR_NOT_CONNECTED
'Public Const WN_BAD_PROFILE = ERROR_BAD_PROFILE
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
Private Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias "WNetCancelConnection2A" (ByVal lpName As String, ByVal dwFlags As Long, ByVal fForce As Long) As Long
Public Function MapDrive(LocalDrive As String, RemoteName As String) As Long
Dim theNetResource As NETRESOURCE
Dim UserName As String
Dim UserPassword As String
UserName = Null
UserPassword = Null
With theNetResource
.dwType = RESOURCETYPE_DISK
.lpLocalName = LocalDrive
.lpRemoteName = RemoteName
End With
MapDrive = WNetAddConnection2(theNetResource, UserPassword, UserName, 0)
End Function
Public Function DisconnectDrive(LocalDrive As String) As Long
DisconnectDrive = WNetCancelConnection2(LocalDrive, 0, 0)
End Function
Si tu dois utiliser un user tu peux le rajouter dans les paramètres de la fonction
CobayeVB
Messages postés2Date d'inscriptionvendredi 5 mars 2004StatutMembreDernière intervention 5 mars 2004 5 mars 2004 à 10:30
Si j'utilise votre programme tel quel, j'obtiens une erreur "Invalid use of Null" à la ligne "Username = Null".
Par contre, si je remplace le Username et le Userpassword par une valeur, tout fonctionne très bien. Le problème, c'est que je voudrais faire un mapping en utilisant le nom et le mot de passe de l'utilisateur en cours...