Débutant vbNet, je cherche des informations réseau, sur lesquelles je ne
connais absolument rien.
A force de demander (sur presqu'un mois quand même), j'ai pu en obtenir
quelques-unes (qui peuvent sans doute être améliorées), soit :
- la connexion
- le nom du PC
- l'adresse IP principale
- le trafic
- la vitesse.
Il me manque 3 informations qui sont :
- la durée (peut se calculer à la rigueur)
- SSID wifi (nom utilisateur wifi)
- qualité de réception (0 à 5)
En fin de compte, tout ça se trouve en cliquant sur l'icône réseau du
systray (ou panneau de configuration), puis centre de réseaux et partages,
puis "voir le statut".
A ce lien, on trouvera un exemple de code vbNet qui permettrait de compléter
ce qu'il me manque, si j'y comprenais quelque chose, c'est ici :
http://mesromans.free.fr/wifivbnet.zip
Notons dans un autre registre, qu'il y a aussi l'api wLanApi.dll qui fait ce
que je cherche, mais c'est encore plus compliqué !
Et voici le code que j'ai actuellement en vbNet, des fonctions sus-citées
que je possède désormais. Ce code comme je le disais est sans doute aussi à
améliorer, mais je n'en ai pas le savoir. Par exemple, parfois je fais une
boucle each, et je récupère seulement l'information du premier passage, ce
qui me convient, mais pourquoi c'est la première information qui est la
bonne (IP par exemple), je n'en sais rien, et je ne sais pas davantage non
plus si ceci va fonctionner dans tous les cas, je constate simplement qu'à
défaut de connaître la chose, et bien ça tourne...
Voici mon code vbNet (compilation d'informations fournies un peu partout :
---
' cle3Gusb form1
Option Explicit On
Imports System.Net.NetworkInformation
Imports System.Net
Imports System.Math
' IL ME MANQUE : durée, SSID wifi, qualité de réception
Public Class Form1
Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Dim Statistics As IPv4InterfaceStatistics
Dim varHostEntry As IPHostEntry
Dim t1
Dim p1 As Double
Dim p2 As Double
'
TextBox1.Text = ""
t1 = ""
'
' connexion
If My.Computer.Network.IsAvailable Then TextBox1.Text = TextBox1.Text &
"Etat : Connecté" & vbCrLf
If Not My.Computer.Network.IsAvailable Then TextBox1.Text =
TextBox1.Text & "Etat : Déconnecté" & vbCrLf
'
TextBox1.Text = TextBox1.Text & "Computer : " & Environment.UserName &
vbCrLf
'
' IP
varHostEntry = Dns.GetHostByName(System.Net.Dns.GetHostName.ToString)
For Each varAnAddress In varHostEntry.AddressList
t1 = varAnAddress.ToString
Next
TextBox1.Text = TextBox1.Text & "Adr I.P : " & t1 & vbCrLf
'
' Trafic
For Each NetInterface As NetworkInterface In
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()
If NetInterface.NetworkInterfaceType =
NetworkInterfaceType.Wireless80211 Then
Statistics = NetInterface.GetIPv4Statistics
p1 = System.Math.Round(Statistics.BytesSent / 1048576, 2)
p2 = Round(Statistics.BytesReceived / 1048576, 2)
TextBox1.Text = TextBox1.Text & "Trafic : " & Format(Round(p1 +
p2, 3), "# ##0.000") & " Mo" & vbCrLf
End If
Next
'
' vitesse
Dim MonInterface As System.Net.NetworkInformation.NetworkInterface
For Each MonInterface In
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()
TextBox1.Text = TextBox1.Text & "Vitesse : " &
MonInterface.Speed.ToString \ 1048576 & " Mo/s" & vbCrLf
Exit For
Next
End Sub ' form1
End Class
' MANQUE
'- la durée (peut se calculer à la rigueur)
'- SSID wifi (nom utilisateur wifi)
'- qualité de réception (0 à 5)
-----
> Il doit y avoir des quiproquos, car le zip que j'ai mi est celui d'un code ramassé sur le Net, en vbNet, venant d'une source C# je crois, or ce programme (si on peut appeler ça ainsi, car inachevé), affiche déjà la qualité et le pseudonymeWifi, donc je ne comprends pas ?
J'ai cru comprendre que tu ne voyais pas comment ce programme récupérait la qualité et le SSID que ce programme affiche, donc j'avais rajouté dans le form_load le code permettant de récupérer juste ces deux informations.
Ce code ne me plait pas trop car il mélange l'interface utilisateur (le formulaire) et la bibliothèque wifi elle-mmême donc il y aurait du nettoyage et de la réorganisation à faire.
Je suis reparti du projet http://www.codeplex.com/managedwifi que j'ai ouvert avec VC# 2008 Express et que j'ai compilé en mode release et qui est une "vraie" bibliothèque (si tu ne veux pas utiliser un DLL tu peux repartir du code VB que tu as fourni mais il y aura sans doute un peu de nettoyage à faire).
J'ai réintégré le code que tu as indiqué dans ton message précédent dans un projet ce qui me donne pour l'instant :
Je pense que le mieux est de tester tes nouvelles pistes dans un projet simp;le de ce type. Puis d'incorporer chaqyue nouveau point validé dans ton code réel. Cela évitera de mélanger les divers problèmes que tu peux avoir les uns avec les autres...
-- Patrice
> Il doit y avoir des quiproquos, car le zip que j'ai mi est celui d'un
code ramassé sur le Net, en vbNet, venant d'une source C# je crois, or ce
programme (si on peut appeler ça ainsi, car inachevé), affiche déjà la
qualité et le pseudonymeWifi, donc je ne comprends pas ?
J'ai cru comprendre que tu ne voyais pas comment ce programme récupérait la
qualité et le SSID que ce programme affiche, donc j'avais rajouté dans le
form_load le code permettant de récupérer juste ces deux informations.
Ce code ne me plait pas trop car il mélange l'interface utilisateur (le
formulaire) et la bibliothèque wifi elle-mmême donc il y aurait du nettoyage
et de la réorganisation à faire.
Je suis reparti du projet http://www.codeplex.com/managedwifi que j'ai
ouvert avec VC# 2008 Express et que j'ai compilé en mode release et qui est
une "vraie" bibliothèque (si tu ne veux pas utiliser un DLL tu peux repartir
du code VB que tu as fourni mais il y aura sans doute un peu de nettoyage à
faire).
J'ai réintégré le code que tu as indiqué dans ton message précédent dans un
projet ce qui me donne pour l'instant :
Je pense que le mieux est de tester tes nouvelles pistes dans un projet
simp;le de ce type. Puis d'incorporer chaqyue nouveau point validé dans ton
code réel. Cela évitera de mélanger les divers problèmes que tu peux avoir
les uns avec les autres...
> Il doit y avoir des quiproquos, car le zip que j'ai mi est celui d'un code ramassé sur le Net, en vbNet, venant d'une source C# je crois, or ce programme (si on peut appeler ça ainsi, car inachevé), affiche déjà la qualité et le pseudonymeWifi, donc je ne comprends pas ?
J'ai cru comprendre que tu ne voyais pas comment ce programme récupérait la qualité et le SSID que ce programme affiche, donc j'avais rajouté dans le form_load le code permettant de récupérer juste ces deux informations.
Ce code ne me plait pas trop car il mélange l'interface utilisateur (le formulaire) et la bibliothèque wifi elle-mmême donc il y aurait du nettoyage et de la réorganisation à faire.
Je suis reparti du projet http://www.codeplex.com/managedwifi que j'ai ouvert avec VC# 2008 Express et que j'ai compilé en mode release et qui est une "vraie" bibliothèque (si tu ne veux pas utiliser un DLL tu peux repartir du code VB que tu as fourni mais il y aura sans doute un peu de nettoyage à faire).
J'ai réintégré le code que tu as indiqué dans ton message précédent dans un projet ce qui me donne pour l'instant :
Je pense que le mieux est de tester tes nouvelles pistes dans un projet simp;le de ce type. Puis d'incorporer chaqyue nouveau point validé dans ton code réel. Cela évitera de mélanger les divers problèmes que tu peux avoir les uns avec les autres...
-- Patrice
LE TROLL
Patrice,
Je suis exactement de ton avis sur tout, moi non plus je n'aime pas ce programme brouillon qui s'étale inutilement, ni cette myriade de code à n'en plus finir...
Si tu penses pouvoir le nettoyer, moi je veux juste une form1 + un textbox1.multilines (le reste je m'en arrange), or je suis totalement incompétent dans ce fatras, ipv4 pour moi ça peut être une tablette de chocolat ou un nouvel avion à réaction, je ne connais absolument rien aux réseaux, et je ne vais pas apprendre juste pour faire une application qui donne même pas 10 lignes de résultats, d'autant que la syntaxe vbNet est trois fois plus volumineuse et deux fois plus complexe que celle de vb6, et que je débute en vbNet...
Déjà je te remercie énormément de ta gentillesse et je loue ta compétence en la matière.
Ce fil commençant à être une sorte de discussion privée, je te propose que l'on passe en mail perso, et ensuite on collera le code final ici pour les autres.
Tu peux trouver mon email via mon site sous-cité, sinon c'est montmartre7518 arobase free point fr, si tu veux bien m'écrire pour amorcer tout ça ?
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news:uGcjC%
Il doit y avoir des quiproquos, car le zip que j'ai mi est celui d'un code ramassé sur le Net, en vbNet, venant d'une source C# je crois, or ce programme (si on peut appeler ça ainsi, car inachevé), affiche déjà la qualité et le pseudonymeWifi, donc je ne comprends pas ?
J'ai cru comprendre que tu ne voyais pas comment ce programme récupérait la qualité et le SSID que ce programme affiche, donc j'avais rajouté dans le form_load le code permettant de récupérer juste ces deux informations.
Ce code ne me plait pas trop car il mélange l'interface utilisateur (le formulaire) et la bibliothèque wifi elle-mmême donc il y aurait du nettoyage et de la réorganisation à faire.
Je suis reparti du projet http://www.codeplex.com/managedwifi que j'ai ouvert avec VC# 2008 Express et que j'ai compilé en mode release et qui est une "vraie" bibliothèque (si tu ne veux pas utiliser un DLL tu peux repartir du code VB que tu as fourni mais il y aura sans doute un peu de nettoyage à faire).
J'ai réintégré le code que tu as indiqué dans ton message précédent dans un projet ce qui me donne pour l'instant :
Je pense que le mieux est de tester tes nouvelles pistes dans un projet simp;le de ce type. Puis d'incorporer chaqyue nouveau point validé dans ton code réel. Cela évitera de mélanger les divers problèmes que tu peux avoir les uns avec les autres...
-- Patrice
Patrice,
Je suis exactement de ton avis sur tout, moi non plus je n'aime pas ce
programme brouillon qui s'étale inutilement, ni cette myriade de code à n'en
plus finir...
Si tu penses pouvoir le nettoyer, moi je veux juste une form1 + un
textbox1.multilines (le reste je m'en arrange), or je suis totalement
incompétent dans ce fatras, ipv4 pour moi ça peut être une tablette de
chocolat ou un nouvel avion à réaction, je ne connais absolument rien aux
réseaux, et je ne vais pas apprendre juste pour faire une application qui
donne même pas 10 lignes de résultats, d'autant que la syntaxe vbNet est
trois fois plus volumineuse et deux fois plus complexe que celle de vb6, et
que je débute en vbNet...
Déjà je te remercie énormément de ta gentillesse et je loue ta
compétence en la matière.
Ce fil commençant à être une sorte de discussion privée, je te propose
que l'on passe en mail perso, et ensuite on collera le code final ici pour
les autres.
Tu peux trouver mon email via mon site sous-cité, sinon c'est
montmartre7518 arobase free point fr, si tu veux bien m'écrire pour amorcer
tout ça ?
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de
news:uGcjC%23meKHA.1652@TK2MSFTNGP05.phx.gbl...
Il doit y avoir des quiproquos, car le zip que j'ai mi est celui d'un
code ramassé sur le Net, en vbNet, venant d'une source C# je crois, or ce
programme (si on peut appeler ça ainsi, car inachevé), affiche déjà la
qualité et le pseudonymeWifi, donc je ne comprends pas ?
J'ai cru comprendre que tu ne voyais pas comment ce programme récupérait
la qualité et le SSID que ce programme affiche, donc j'avais rajouté dans
le form_load le code permettant de récupérer juste ces deux informations.
Ce code ne me plait pas trop car il mélange l'interface utilisateur (le
formulaire) et la bibliothèque wifi elle-mmême donc il y aurait du
nettoyage et de la réorganisation à faire.
Je suis reparti du projet http://www.codeplex.com/managedwifi que j'ai
ouvert avec VC# 2008 Express et que j'ai compilé en mode release et qui
est une "vraie" bibliothèque (si tu ne veux pas utiliser un DLL tu peux
repartir du code VB que tu as fourni mais il y aura sans doute un peu de
nettoyage à faire).
J'ai réintégré le code que tu as indiqué dans ton message précédent dans
un projet ce qui me donne pour l'instant :
Je pense que le mieux est de tester tes nouvelles pistes dans un projet
simp;le de ce type. Puis d'incorporer chaqyue nouveau point validé dans
ton code réel. Cela évitera de mélanger les divers problèmes que tu peux
avoir les uns avec les autres...
Je suis exactement de ton avis sur tout, moi non plus je n'aime pas ce programme brouillon qui s'étale inutilement, ni cette myriade de code à n'en plus finir...
Si tu penses pouvoir le nettoyer, moi je veux juste une form1 + un textbox1.multilines (le reste je m'en arrange), or je suis totalement incompétent dans ce fatras, ipv4 pour moi ça peut être une tablette de chocolat ou un nouvel avion à réaction, je ne connais absolument rien aux réseaux, et je ne vais pas apprendre juste pour faire une application qui donne même pas 10 lignes de résultats, d'autant que la syntaxe vbNet est trois fois plus volumineuse et deux fois plus complexe que celle de vb6, et que je débute en vbNet...
Déjà je te remercie énormément de ta gentillesse et je loue ta compétence en la matière.
Ce fil commençant à être une sorte de discussion privée, je te propose que l'on passe en mail perso, et ensuite on collera le code final ici pour les autres.
Tu peux trouver mon email via mon site sous-cité, sinon c'est montmartre7518 arobase free point fr, si tu veux bien m'écrire pour amorcer tout ça ?
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news:uGcjC%
Il doit y avoir des quiproquos, car le zip que j'ai mi est celui d'un code ramassé sur le Net, en vbNet, venant d'une source C# je crois, or ce programme (si on peut appeler ça ainsi, car inachevé), affiche déjà la qualité et le pseudonymeWifi, donc je ne comprends pas ?
J'ai cru comprendre que tu ne voyais pas comment ce programme récupérait la qualité et le SSID que ce programme affiche, donc j'avais rajouté dans le form_load le code permettant de récupérer juste ces deux informations.
Ce code ne me plait pas trop car il mélange l'interface utilisateur (le formulaire) et la bibliothèque wifi elle-mmême donc il y aurait du nettoyage et de la réorganisation à faire.
Je suis reparti du projet http://www.codeplex.com/managedwifi que j'ai ouvert avec VC# 2008 Express et que j'ai compilé en mode release et qui est une "vraie" bibliothèque (si tu ne veux pas utiliser un DLL tu peux repartir du code VB que tu as fourni mais il y aura sans doute un peu de nettoyage à faire).
J'ai réintégré le code que tu as indiqué dans ton message précédent dans un projet ce qui me donne pour l'instant :
Je pense que le mieux est de tester tes nouvelles pistes dans un projet simp;le de ce type. Puis d'incorporer chaqyue nouveau point validé dans ton code réel. Cela évitera de mélanger les divers problèmes que tu peux avoir les uns avec les autres...
-- Patrice
LE TROLL
Bonjour,
Bon...
Alors... juste pour dire que ce que tu m'as passé comme code, fonctionne très bien dans le load :
Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim client As New WlanClient
TextBox1.Text = "" ' Pour toutes les cartes Wifi...
For Each Int As WlanClient.WlanInterface In client.Interfaces ' ...connect,e
If Int.InterfaceState = Wlan.WlanInterfaceState.Connected Then
Dim strSSID As String = ""
Dim SSID As Wlan.Dot11Ssid = Int.CurrentConnection.wlanAssociationAttributes.dot11Ssid
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news:uGcjC%
Il doit y avoir des quiproquos, car le zip que j'ai mi est celui d'un code ramassé sur le Net, en vbNet, venant d'une source C# je crois, or ce programme (si on peut appeler ça ainsi, car inachevé), affiche déjà la qualité et le pseudonymeWifi, donc je ne comprends pas ?
J'ai cru comprendre que tu ne voyais pas comment ce programme récupérait la qualité et le SSID que ce programme affiche, donc j'avais rajouté dans le form_load le code permettant de récupérer juste ces deux informations.
Ce code ne me plait pas trop car il mélange l'interface utilisateur (le formulaire) et la bibliothèque wifi elle-mmême donc il y aurait du nettoyage et de la réorganisation à faire.
Je suis reparti du projet http://www.codeplex.com/managedwifi que j'ai ouvert avec VC# 2008 Express et que j'ai compilé en mode release et qui est une "vraie" bibliothèque (si tu ne veux pas utiliser un DLL tu peux repartir du code VB que tu as fourni mais il y aura sans doute un peu de nettoyage à faire).
J'ai réintégré le code que tu as indiqué dans ton message précédent dans un projet ce qui me donne pour l'instant :
Je pense que le mieux est de tester tes nouvelles pistes dans un projet simp;le de ce type. Puis d'incorporer chaqyue nouveau point validé dans ton code réel. Cela évitera de mélanger les divers problèmes que tu peux avoir les uns avec les autres...
-- Patrice
Bonjour,
Bon...
Alors... juste pour dire que ce que tu m'as passé comme code, fonctionne
très bien dans le load :
Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Dim client As New WlanClient
TextBox1.Text = "" ' Pour toutes les cartes Wifi...
For Each Int As WlanClient.WlanInterface In client.Interfaces ' ...connect,e
If Int.InterfaceState = Wlan.WlanInterfaceState.Connected Then
Dim strSSID As String = ""
Dim SSID As Wlan.Dot11Ssid =
Int.CurrentConnection.wlanAssociationAttributes.dot11Ssid
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de
news:uGcjC%23meKHA.1652@TK2MSFTNGP05.phx.gbl...
Il doit y avoir des quiproquos, car le zip que j'ai mi est celui d'un
code ramassé sur le Net, en vbNet, venant d'une source C# je crois, or ce
programme (si on peut appeler ça ainsi, car inachevé), affiche déjà la
qualité et le pseudonymeWifi, donc je ne comprends pas ?
J'ai cru comprendre que tu ne voyais pas comment ce programme récupérait
la qualité et le SSID que ce programme affiche, donc j'avais rajouté dans
le form_load le code permettant de récupérer juste ces deux informations.
Ce code ne me plait pas trop car il mélange l'interface utilisateur (le
formulaire) et la bibliothèque wifi elle-mmême donc il y aurait du
nettoyage et de la réorganisation à faire.
Je suis reparti du projet http://www.codeplex.com/managedwifi que j'ai
ouvert avec VC# 2008 Express et que j'ai compilé en mode release et qui
est une "vraie" bibliothèque (si tu ne veux pas utiliser un DLL tu peux
repartir du code VB que tu as fourni mais il y aura sans doute un peu de
nettoyage à faire).
J'ai réintégré le code que tu as indiqué dans ton message précédent dans
un projet ce qui me donne pour l'instant :
Je pense que le mieux est de tester tes nouvelles pistes dans un projet
simp;le de ce type. Puis d'incorporer chaqyue nouveau point validé dans
ton code réel. Cela évitera de mélanger les divers problèmes que tu peux
avoir les uns avec les autres...
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news:uGcjC%
Il doit y avoir des quiproquos, car le zip que j'ai mi est celui d'un code ramassé sur le Net, en vbNet, venant d'une source C# je crois, or ce programme (si on peut appeler ça ainsi, car inachevé), affiche déjà la qualité et le pseudonymeWifi, donc je ne comprends pas ?
J'ai cru comprendre que tu ne voyais pas comment ce programme récupérait la qualité et le SSID que ce programme affiche, donc j'avais rajouté dans le form_load le code permettant de récupérer juste ces deux informations.
Ce code ne me plait pas trop car il mélange l'interface utilisateur (le formulaire) et la bibliothèque wifi elle-mmême donc il y aurait du nettoyage et de la réorganisation à faire.
Je suis reparti du projet http://www.codeplex.com/managedwifi que j'ai ouvert avec VC# 2008 Express et que j'ai compilé en mode release et qui est une "vraie" bibliothèque (si tu ne veux pas utiliser un DLL tu peux repartir du code VB que tu as fourni mais il y aura sans doute un peu de nettoyage à faire).
J'ai réintégré le code que tu as indiqué dans ton message précédent dans un projet ce qui me donne pour l'instant :
Je pense que le mieux est de tester tes nouvelles pistes dans un projet simp;le de ce type. Puis d'incorporer chaqyue nouveau point validé dans ton code réel. Cela évitera de mélanger les divers problèmes que tu peux avoir les uns avec les autres...