1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| 'Connexion réseau Selon daladim
'Voilà le code : il lit dans le Registre les ID des cartes réseau, après il faut lire dans un autre endroit du registre pour avoir le nom de la connexion associée, et c'est un peu compliqué... Voila le code (il ne donne que les connexions Ethernet ou Wifi (pas celles en modem 56K)
Private Declare Function InternetAutodial Lib "wininet.dll" (ByVal dwFlags As Long, ByVal dwReserved As Long) As Long
Private Declare Function InternetAutodialHangup Lib "wininet.dll" (ByVal dwReserved As Long) As Long
'Fonction RegR, qui lit dans le Registre :
Public Function RegR(Adresse, defaut)
On Error GoTo erreur
Set Regsitre = CreateObject("Wscript.shell")
a = Registre.RegRead(Adresse)
RegR = a
Exit Function
erreur:
RegR = defaut
End Function
'Déclare 3 collections dans un module:
Public cartes As New Collection
Public cartesID As New Collection
Public conNames As New Collection
'Ça , c'est pour remplir les 3 collections definies ci-dessus par le nom de la carte Réseau (ou Wifi), son ID et le nom de la connexion associée
For a = 0 To 255
curCard = RegR("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & a & "\Description", "|Erreur")
If curCard <> "|Erreur" Then
cartes.Add curCard 'Nom de la carte
cartesID.Add RegR("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & a & "\ServiceName", "") 'Classe de la carte (ressemble à {.....} )
conNames.Add RegR("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & cartesID(cartesID.Count) & "\Connection\Name", "") 'Nom de la connexion associée à la carte
End If
Next
'Chez moi, ca marche. J'espère que ca peut t'aider...
'Après, pour activer les connexions voulues, changer leurs paramètres... C'est autre chose, je pourrais peut-être t'aider...
'Pour activer ta connexion, je me souviens avoir cherché ca il y a quelque temps (mais à l'epoque, c'etait pour une connexion RTC, je sais pas si ca marchera avec une connexion ADSL...)
'Essaye quand même :
Function WebDeconnect() As Boolean 'Se déconnecte automatiquement
Call InternetAutodialHangup(0)
End Function
Function WebAutoConnect() As Boolean 'affiche la feuille "Se connecter" et se connecte automatiquement
Call InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED, 0)
End Function
'Appelle la fonction WebDeconnect() pour te déconnecter et WebAutoConnect() pour te connecter (et vois si ca marche...) |
Partager